{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Copyright (c) 2020, NVIDIA CORPORATION.\n",
    "Licensed under the Apache License, Version 2.0 (the \"License\");\n",
    "you may not use this file except in compliance with the License.\n",
    "You may obtain a copy of the License at\n",
    "    http://www.apache.org/licenses/LICENSE-2.0\n",
    "Unless required by applicable law or agreed to in writing, software\n",
    "distributed under the License is distributed on an \"AS IS\" BASIS,\n",
    "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
    "See the License for the specific language governing permissions and\n",
    "limitations under the License."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os, time\n",
    "os.environ[\"CUDA_VISIBLE_DEVICES\"]=\"0\"\n",
    "start = time.time()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.14.0'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd, numpy as np, gc\n",
    "from datetime import datetime\n",
    "import joblib, time\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "pd.set_option('display.max_columns', 500)\n",
    "pd.set_option('display.max_rows', 500)\n",
    "import cudf, cupy, time\n",
    "cudf.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "startNB = time.time()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from numba import jit, njit, prange\n",
    "from sklearn.metrics import precision_recall_curve, auc, log_loss\n",
    "\n",
    "def compute_prauc(gt, pred, nafill=True):\n",
    "    if nafill:\n",
    "        pred[ np.isnan(pred) ] = np.nanmean( pred )\n",
    "    prec, recall, thresh = precision_recall_curve(gt, pred)\n",
    "    prauc = auc(recall, prec)\n",
    "    return prauc\n",
    "\n",
    "@jit\n",
    "def fast_auc(y_true, y_prob):\n",
    "    y_true = np.asarray(y_true)\n",
    "    y_true = y_true[np.argsort(y_prob)]\n",
    "    nfalse = 0\n",
    "    auc = 0\n",
    "    n = len(y_true)\n",
    "    for i in range(n):\n",
    "        y_i = y_true[i]\n",
    "        nfalse += (1 - y_i)\n",
    "        auc += y_i * nfalse\n",
    "    auc /= (nfalse * (n - nfalse))\n",
    "    return auc\n",
    "\n",
    "@njit\n",
    "def numba_log_loss(y,x):\n",
    "    n = x.shape[0]\n",
    "    ll = 0.\n",
    "    for i in prange(n):\n",
    "        if y[i]<=0.:\n",
    "            ll += np.log(1-x[i] + 1e-15 )\n",
    "        else:\n",
    "            ll += np.log(x[i] + 1e-15)\n",
    "    return -ll / n\n",
    "\n",
    "def compute_rce(gt , pred, nafill=True, verbose=0):\n",
    "    if nafill:\n",
    "        pred[ np.isnan(pred) ] = np.nanmean( pred )\n",
    "        \n",
    "    cross_entropy = numba_log_loss( gt, pred  )\n",
    "    \n",
    "    yt = np.mean(gt>0)     \n",
    "    strawman_cross_entropy = -(yt*np.log(yt) + (1 - yt)*np.log(1 - yt))\n",
    "    \n",
    "    if verbose:\n",
    "        print( \"logloss: {0:.5f} / {1:.5f} = {2:.5f}\".format(cross_entropy, strawman_cross_entropy, cross_entropy/strawman_cross_entropy))\n",
    "        print( 'mean:    {0:.5f} / {1:.5f}'.format( np.nanmean( pred ) , yt  ) )\n",
    "    \n",
    "    return (1.0 - cross_entropy/strawman_cross_entropy)*100.0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def save_memory( df ):\n",
    "    features = df.columns\n",
    "    for i in range( df.shape[1] ):\n",
    "        if df.dtypes[i] == 'uint8':\n",
    "            df[features[i]] = df[features[i]].astype( np.int8 )\n",
    "            gc.collect()\n",
    "        elif df.dtypes[i] == 'bool':\n",
    "            df[features[i]] = df[features[i]].astype( np.int8 )\n",
    "            gc.collect()\n",
    "        elif df.dtypes[i] == 'uint32':\n",
    "            df[features[i]] = df[features[i]].astype( np.int32 )\n",
    "            gc.collect()\n",
    "        elif df.dtypes[i] == 'int64':\n",
    "            df[features[i]] = df[features[i]].astype( np.int32 )\n",
    "            gc.collect()\n",
    "        elif df.dtypes[i] == 'float64':\n",
    "            df[features[i]] = df[features[i]].astype( np.float32 )\n",
    "            gc.collect()\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load Train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "TARGET_id = 3\n",
    "\n",
    "TARGETS = ['reply', 'retweet', 'retweet_comment', 'like']\n",
    "\n",
    "TARGET = TARGETS[TARGET_id]\n",
    "\n",
    "train = pd.read_parquet( 'data/train-final-te-'+TARGET+'-1.parquet' )\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['a_follower_count']  = train.groupby('a_user_id')['a_follower_count' ].transform('last');_ = gc.collect()\n",
    "train['a_following_count'] = train.groupby('a_user_id')['a_following_count'].transform('last');_ = gc.collect()\n",
    "train['b_follower_count']  = train.groupby('b_user_id')['a_follower_count' ].transform('last');_ = gc.collect()\n",
    "train['b_following_count'] = train.groupby('b_user_id')['a_following_count'].transform('last');_ = gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>hashtags</th>\n",
       "      <th>tweet_id</th>\n",
       "      <th>media</th>\n",
       "      <th>links</th>\n",
       "      <th>domains</th>\n",
       "      <th>tweet_type</th>\n",
       "      <th>language</th>\n",
       "      <th>timestamp</th>\n",
       "      <th>a_user_id</th>\n",
       "      <th>a_follower_count</th>\n",
       "      <th>a_following_count</th>\n",
       "      <th>a_is_verified</th>\n",
       "      <th>a_account_creation</th>\n",
       "      <th>b_user_id</th>\n",
       "      <th>b_follower_count</th>\n",
       "      <th>b_following_count</th>\n",
       "      <th>b_is_verified</th>\n",
       "      <th>b_account_creation</th>\n",
       "      <th>b_follows_a</th>\n",
       "      <th>reply</th>\n",
       "      <th>retweet</th>\n",
       "      <th>retweet_comment</th>\n",
       "      <th>like</th>\n",
       "      <th>id</th>\n",
       "      <th>tr</th>\n",
       "      <th>dt_day</th>\n",
       "      <th>dt_dow</th>\n",
       "      <th>dt_hour</th>\n",
       "      <th>a_count_combined</th>\n",
       "      <th>a_user_fer_count_delta_time</th>\n",
       "      <th>a_user_fing_count_delta_time</th>\n",
       "      <th>a_user_fering_count_delta_time</th>\n",
       "      <th>a_user_fing_count_mode</th>\n",
       "      <th>a_user_fer_count_mode</th>\n",
       "      <th>a_user_fering_count_mode</th>\n",
       "      <th>count_ats</th>\n",
       "      <th>count_char</th>\n",
       "      <th>count_words</th>\n",
       "      <th>tw_hash</th>\n",
       "      <th>tw_freq_hash</th>\n",
       "      <th>tw_first_word</th>\n",
       "      <th>tw_second_word</th>\n",
       "      <th>tw_last_word</th>\n",
       "      <th>tw_llast_word</th>\n",
       "      <th>tw_len</th>\n",
       "      <th>tw_hash0</th>\n",
       "      <th>tw_hash1</th>\n",
       "      <th>tw_rt_uhash</th>\n",
       "      <th>TE_b_user_id_tweet_type_language_like</th>\n",
       "      <th>TE_tw_first_word_tweet_type_language_like</th>\n",
       "      <th>TE_tw_last_word_tweet_type_language_like</th>\n",
       "      <th>TE_tw_hash0_tweet_type_language_like</th>\n",
       "      <th>TE_tw_hash1_tweet_type_language_like</th>\n",
       "      <th>TE_tw_rt_uhash_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_id_like</th>\n",
       "      <th>TE_b_user_id_like</th>\n",
       "      <th>TE_tw_hash_like</th>\n",
       "      <th>TE_tw_freq_hash_like</th>\n",
       "      <th>TE_media_tweet_type_language_a_is_verified_b_is_verified_b_follows_a_like</th>\n",
       "      <th>TE_a_count_combined_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_fer_count_delta_time_media_language_like</th>\n",
       "      <th>TE_a_user_fing_count_delta_time_media_language_like</th>\n",
       "      <th>TE_a_user_fering_count_delta_time_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_fing_count_mode_media_language_like</th>\n",
       "      <th>TE_a_user_fer_count_mode_media_language_like</th>\n",
       "      <th>TE_a_user_fering_count_mode_tweet_type_language_like</th>\n",
       "      <th>TE_domains_media_tweet_type_language_like</th>\n",
       "      <th>TE_links_media_tweet_type_language_like</th>\n",
       "      <th>TE_hashtags_media_tweet_type_language_like</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>146255999</th>\n",
       "      <td>0</td>\n",
       "      <td>73443134</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>59</td>\n",
       "      <td>1582081341</td>\n",
       "      <td>1362744</td>\n",
       "      <td>5390</td>\n",
       "      <td>833</td>\n",
       "      <td>0</td>\n",
       "      <td>1546658592</td>\n",
       "      <td>30848700</td>\n",
       "      <td>5390</td>\n",
       "      <td>833</td>\n",
       "      <td>0</td>\n",
       "      <td>1428007228</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>146255999</td>\n",
       "      <td>2</td>\n",
       "      <td>19</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>76</td>\n",
       "      <td>15</td>\n",
       "      <td>39170347</td>\n",
       "      <td>34858164</td>\n",
       "      <td>28651</td>\n",
       "      <td>210319</td>\n",
       "      <td>2793</td>\n",
       "      <td>27536</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7739</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.326411</td>\n",
       "      <td>0.303084</td>\n",
       "      <td>0.298508</td>\n",
       "      <td>0.290474</td>\n",
       "      <td>0.318263</td>\n",
       "      <td>0.420115</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.256684</td>\n",
       "      <td>0.688985</td>\n",
       "      <td>0.762254</td>\n",
       "      <td>0.652313</td>\n",
       "      <td>0.679491</td>\n",
       "      <td>0.625643</td>\n",
       "      <td>0.730534</td>\n",
       "      <td>0.626385</td>\n",
       "      <td>0.274295</td>\n",
       "      <td>0.274295</td>\n",
       "      <td>0.274989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146256000</th>\n",
       "      <td>0</td>\n",
       "      <td>73443135</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>54</td>\n",
       "      <td>1582091134</td>\n",
       "      <td>179475</td>\n",
       "      <td>17747</td>\n",
       "      <td>1467</td>\n",
       "      <td>0</td>\n",
       "      <td>1172558525</td>\n",
       "      <td>4950585</td>\n",
       "      <td>17747</td>\n",
       "      <td>1467</td>\n",
       "      <td>0</td>\n",
       "      <td>1272381192</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>146256000</td>\n",
       "      <td>2</td>\n",
       "      <td>19</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>159</td>\n",
       "      <td>29</td>\n",
       "      <td>38847520</td>\n",
       "      <td>1535005</td>\n",
       "      <td>300662</td>\n",
       "      <td>267542</td>\n",
       "      <td>11</td>\n",
       "      <td>867</td>\n",
       "      <td>13</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10748</td>\n",
       "      <td>0.394829</td>\n",
       "      <td>0.466326</td>\n",
       "      <td>0.317002</td>\n",
       "      <td>0.334638</td>\n",
       "      <td>0.317721</td>\n",
       "      <td>0.445803</td>\n",
       "      <td>0.371185</td>\n",
       "      <td>0.289541</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.41363</td>\n",
       "      <td>0.306899</td>\n",
       "      <td>0.002351</td>\n",
       "      <td>0.007295</td>\n",
       "      <td>0.616309</td>\n",
       "      <td>0.005790</td>\n",
       "      <td>0.583780</td>\n",
       "      <td>0.015339</td>\n",
       "      <td>0.012400</td>\n",
       "      <td>0.298958</td>\n",
       "      <td>0.298958</td>\n",
       "      <td>0.303666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146256001</th>\n",
       "      <td>0</td>\n",
       "      <td>73443136</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>1582086464</td>\n",
       "      <td>366281</td>\n",
       "      <td>4386</td>\n",
       "      <td>80</td>\n",
       "      <td>0</td>\n",
       "      <td>1457176980</td>\n",
       "      <td>30312854</td>\n",
       "      <td>4386</td>\n",
       "      <td>80</td>\n",
       "      <td>0</td>\n",
       "      <td>1235182992</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>146256001</td>\n",
       "      <td>2</td>\n",
       "      <td>19</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>72</td>\n",
       "      <td>10</td>\n",
       "      <td>49748666</td>\n",
       "      <td>44369960</td>\n",
       "      <td>7361311</td>\n",
       "      <td>466019</td>\n",
       "      <td>19261</td>\n",
       "      <td>202536</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>58462</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.413630</td>\n",
       "      <td>0.307564</td>\n",
       "      <td>0.280661</td>\n",
       "      <td>0.285517</td>\n",
       "      <td>0.264599</td>\n",
       "      <td>0.220308</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.422012</td>\n",
       "      <td>0.559802</td>\n",
       "      <td>0.754079</td>\n",
       "      <td>0.630818</td>\n",
       "      <td>0.557049</td>\n",
       "      <td>0.622638</td>\n",
       "      <td>0.741874</td>\n",
       "      <td>0.530790</td>\n",
       "      <td>0.402422</td>\n",
       "      <td>0.402422</td>\n",
       "      <td>0.410858</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146256002</th>\n",
       "      <td>845560</td>\n",
       "      <td>73443137</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>11</td>\n",
       "      <td>1581665518</td>\n",
       "      <td>1030299</td>\n",
       "      <td>4236</td>\n",
       "      <td>4119</td>\n",
       "      <td>0</td>\n",
       "      <td>1524226898</td>\n",
       "      <td>3141261</td>\n",
       "      <td>4354</td>\n",
       "      <td>3629</td>\n",
       "      <td>0</td>\n",
       "      <td>1501554925</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>146256002</td>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "      <td>4</td>\n",
       "      <td>7</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>161</td>\n",
       "      <td>42</td>\n",
       "      <td>50323632</td>\n",
       "      <td>44880036</td>\n",
       "      <td>7551233</td>\n",
       "      <td>985413</td>\n",
       "      <td>112</td>\n",
       "      <td>2712</td>\n",
       "      <td>14</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.765348</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.479254</td>\n",
       "      <td>0.542145</td>\n",
       "      <td>0.535521</td>\n",
       "      <td>0.542154</td>\n",
       "      <td>0.571044</td>\n",
       "      <td>0.795518</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.505637</td>\n",
       "      <td>0.884711</td>\n",
       "      <td>0.765740</td>\n",
       "      <td>0.583335</td>\n",
       "      <td>0.880250</td>\n",
       "      <td>0.555698</td>\n",
       "      <td>0.727847</td>\n",
       "      <td>0.853510</td>\n",
       "      <td>0.482691</td>\n",
       "      <td>0.482691</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146256003</th>\n",
       "      <td>6845</td>\n",
       "      <td>73443138</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>11</td>\n",
       "      <td>1581799075</td>\n",
       "      <td>6937005</td>\n",
       "      <td>4354</td>\n",
       "      <td>3629</td>\n",
       "      <td>0</td>\n",
       "      <td>1269050894</td>\n",
       "      <td>3141261</td>\n",
       "      <td>4354</td>\n",
       "      <td>3629</td>\n",
       "      <td>0</td>\n",
       "      <td>1501554925</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>146256003</td>\n",
       "      <td>2</td>\n",
       "      <td>15</td>\n",
       "      <td>5</td>\n",
       "      <td>20</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>216</td>\n",
       "      <td>71</td>\n",
       "      <td>50323633</td>\n",
       "      <td>44880037</td>\n",
       "      <td>2674107</td>\n",
       "      <td>2769099</td>\n",
       "      <td>646</td>\n",
       "      <td>2378</td>\n",
       "      <td>26</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.765348</td>\n",
       "      <td>0.437456</td>\n",
       "      <td>0.586783</td>\n",
       "      <td>0.542145</td>\n",
       "      <td>0.535521</td>\n",
       "      <td>0.542154</td>\n",
       "      <td>0.547449</td>\n",
       "      <td>0.795518</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.767347</td>\n",
       "      <td>0.884711</td>\n",
       "      <td>0.883839</td>\n",
       "      <td>0.752108</td>\n",
       "      <td>0.880250</td>\n",
       "      <td>0.732703</td>\n",
       "      <td>0.865272</td>\n",
       "      <td>0.853510</td>\n",
       "      <td>0.724289</td>\n",
       "      <td>0.724289</td>\n",
       "      <td>0.848702</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           hashtags  tweet_id  media  links  domains  tweet_type  language  \\\n",
       "146255999         0  73443134      0      0        0           1        59   \n",
       "146256000         0  73443135      0      0        0           1        54   \n",
       "146256001         0  73443136      9      0        0           1         4   \n",
       "146256002    845560  73443137      0      0        0           2        11   \n",
       "146256003      6845  73443138      7      0        0           2        11   \n",
       "\n",
       "            timestamp  a_user_id  a_follower_count  a_following_count  \\\n",
       "146255999  1582081341    1362744              5390                833   \n",
       "146256000  1582091134     179475             17747               1467   \n",
       "146256001  1582086464     366281              4386                 80   \n",
       "146256002  1581665518    1030299              4236               4119   \n",
       "146256003  1581799075    6937005              4354               3629   \n",
       "\n",
       "           a_is_verified  a_account_creation  b_user_id  b_follower_count  \\\n",
       "146255999              0          1546658592   30848700              5390   \n",
       "146256000              0          1172558525    4950585             17747   \n",
       "146256001              0          1457176980   30312854              4386   \n",
       "146256002              0          1524226898    3141261              4354   \n",
       "146256003              0          1269050894    3141261              4354   \n",
       "\n",
       "           b_following_count  b_is_verified  b_account_creation  b_follows_a  \\\n",
       "146255999                833              0          1428007228            0   \n",
       "146256000               1467              0          1272381192            0   \n",
       "146256001                 80              0          1235182992            0   \n",
       "146256002               3629              0          1501554925            1   \n",
       "146256003               3629              0          1501554925            1   \n",
       "\n",
       "           reply  retweet  retweet_comment  like         id  tr  dt_day  \\\n",
       "146255999      0        0                0     0  146255999   2      19   \n",
       "146256000      0        0                0     0  146256000   2      19   \n",
       "146256001      0        0                0     0  146256001   2      19   \n",
       "146256002      0        0                0     0  146256002   2      14   \n",
       "146256003      0        0                0     0  146256003   2      15   \n",
       "\n",
       "           dt_dow  dt_hour  a_count_combined  a_user_fer_count_delta_time  \\\n",
       "146255999       2        3                 2                            1   \n",
       "146256000       2        5                 0                            0   \n",
       "146256001       2        4                 2                            1   \n",
       "146256002       4        7                 2                            1   \n",
       "146256003       5       20                 2                            1   \n",
       "\n",
       "           a_user_fing_count_delta_time  a_user_fering_count_delta_time  \\\n",
       "146255999                             1                               1   \n",
       "146256000                             1                               0   \n",
       "146256001                             1                               1   \n",
       "146256002                             1                               1   \n",
       "146256003                             1                               1   \n",
       "\n",
       "           a_user_fing_count_mode  a_user_fer_count_mode  \\\n",
       "146255999                       1                      1   \n",
       "146256000                       1                      0   \n",
       "146256001                       1                      1   \n",
       "146256002                       1                      1   \n",
       "146256003                       1                      1   \n",
       "\n",
       "           a_user_fering_count_mode  count_ats  count_char  count_words  \\\n",
       "146255999                         1          0          76           15   \n",
       "146256000                         0          0         159           29   \n",
       "146256001                         1          0          72           10   \n",
       "146256002                         1          0         161           42   \n",
       "146256003                         1          0         216           71   \n",
       "\n",
       "            tw_hash  tw_freq_hash  tw_first_word  tw_second_word  \\\n",
       "146255999  39170347      34858164          28651          210319   \n",
       "146256000  38847520       1535005         300662          267542   \n",
       "146256001  49748666      44369960        7361311          466019   \n",
       "146256002  50323632      44880036        7551233          985413   \n",
       "146256003  50323633      44880037        2674107         2769099   \n",
       "\n",
       "           tw_last_word  tw_llast_word  tw_len  tw_hash0  tw_hash1  \\\n",
       "146255999          2793          27536       6         0         0   \n",
       "146256000            11            867      13         0         0   \n",
       "146256001         19261         202536       5         0         0   \n",
       "146256002           112           2712      14         0         0   \n",
       "146256003           646           2378      26         0         0   \n",
       "\n",
       "           tw_rt_uhash  TE_b_user_id_tweet_type_language_like  \\\n",
       "146255999         7739                                    NaN   \n",
       "146256000        10748                               0.394829   \n",
       "146256001        58462                                    NaN   \n",
       "146256002            0                               0.765348   \n",
       "146256003            0                               0.765348   \n",
       "\n",
       "           TE_tw_first_word_tweet_type_language_like  \\\n",
       "146255999                                   0.326411   \n",
       "146256000                                   0.466326   \n",
       "146256001                                   0.413630   \n",
       "146256002                                        NaN   \n",
       "146256003                                   0.437456   \n",
       "\n",
       "           TE_tw_last_word_tweet_type_language_like  \\\n",
       "146255999                                  0.303084   \n",
       "146256000                                  0.317002   \n",
       "146256001                                  0.307564   \n",
       "146256002                                  0.479254   \n",
       "146256003                                  0.586783   \n",
       "\n",
       "           TE_tw_hash0_tweet_type_language_like  \\\n",
       "146255999                              0.298508   \n",
       "146256000                              0.334638   \n",
       "146256001                              0.280661   \n",
       "146256002                              0.542145   \n",
       "146256003                              0.542145   \n",
       "\n",
       "           TE_tw_hash1_tweet_type_language_like  \\\n",
       "146255999                              0.290474   \n",
       "146256000                              0.317721   \n",
       "146256001                              0.285517   \n",
       "146256002                              0.535521   \n",
       "146256003                              0.535521   \n",
       "\n",
       "           TE_tw_rt_uhash_tweet_type_language_like  TE_a_user_id_like  \\\n",
       "146255999                                 0.318263           0.420115   \n",
       "146256000                                 0.445803           0.371185   \n",
       "146256001                                 0.264599           0.220308   \n",
       "146256002                                 0.542154           0.571044   \n",
       "146256003                                 0.542154           0.547449   \n",
       "\n",
       "           TE_b_user_id_like  TE_tw_hash_like  TE_tw_freq_hash_like  \\\n",
       "146255999                NaN              NaN                   NaN   \n",
       "146256000           0.289541              NaN               0.41363   \n",
       "146256001                NaN              NaN                   NaN   \n",
       "146256002           0.795518              NaN                   NaN   \n",
       "146256003           0.795518              NaN                   NaN   \n",
       "\n",
       "           TE_media_tweet_type_language_a_is_verified_b_is_verified_b_follows_a_like  \\\n",
       "146255999                                           0.256684                           \n",
       "146256000                                           0.306899                           \n",
       "146256001                                           0.422012                           \n",
       "146256002                                           0.505637                           \n",
       "146256003                                           0.767347                           \n",
       "\n",
       "           TE_a_count_combined_tweet_type_language_like  \\\n",
       "146255999                                      0.688985   \n",
       "146256000                                      0.002351   \n",
       "146256001                                      0.559802   \n",
       "146256002                                      0.884711   \n",
       "146256003                                      0.884711   \n",
       "\n",
       "           TE_a_user_fer_count_delta_time_media_language_like  \\\n",
       "146255999                                           0.762254    \n",
       "146256000                                           0.007295    \n",
       "146256001                                           0.754079    \n",
       "146256002                                           0.765740    \n",
       "146256003                                           0.883839    \n",
       "\n",
       "           TE_a_user_fing_count_delta_time_media_language_like  \\\n",
       "146255999                                           0.652313     \n",
       "146256000                                           0.616309     \n",
       "146256001                                           0.630818     \n",
       "146256002                                           0.583335     \n",
       "146256003                                           0.752108     \n",
       "\n",
       "           TE_a_user_fering_count_delta_time_tweet_type_language_like  \\\n",
       "146255999                                           0.679491            \n",
       "146256000                                           0.005790            \n",
       "146256001                                           0.557049            \n",
       "146256002                                           0.880250            \n",
       "146256003                                           0.880250            \n",
       "\n",
       "           TE_a_user_fing_count_mode_media_language_like  \\\n",
       "146255999                                       0.625643   \n",
       "146256000                                       0.583780   \n",
       "146256001                                       0.622638   \n",
       "146256002                                       0.555698   \n",
       "146256003                                       0.732703   \n",
       "\n",
       "           TE_a_user_fer_count_mode_media_language_like  \\\n",
       "146255999                                      0.730534   \n",
       "146256000                                      0.015339   \n",
       "146256001                                      0.741874   \n",
       "146256002                                      0.727847   \n",
       "146256003                                      0.865272   \n",
       "\n",
       "           TE_a_user_fering_count_mode_tweet_type_language_like  \\\n",
       "146255999                                           0.626385      \n",
       "146256000                                           0.012400      \n",
       "146256001                                           0.530790      \n",
       "146256002                                           0.853510      \n",
       "146256003                                           0.853510      \n",
       "\n",
       "           TE_domains_media_tweet_type_language_like  \\\n",
       "146255999                                   0.274295   \n",
       "146256000                                   0.298958   \n",
       "146256001                                   0.402422   \n",
       "146256002                                   0.482691   \n",
       "146256003                                   0.724289   \n",
       "\n",
       "           TE_links_media_tweet_type_language_like  \\\n",
       "146255999                                 0.274295   \n",
       "146256000                                 0.298958   \n",
       "146256001                                 0.402422   \n",
       "146256002                                 0.482691   \n",
       "146256003                                 0.724289   \n",
       "\n",
       "           TE_hashtags_media_tweet_type_language_like  \n",
       "146255999                                    0.274989  \n",
       "146256000                                    0.303666  \n",
       "146256001                                    0.410858  \n",
       "146256002                                         NaN  \n",
       "146256003                                    0.848702  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "hashtags                                                                       int32\n",
       "tweet_id                                                                       int32\n",
       "media                                                                           int8\n",
       "links                                                                          int32\n",
       "domains                                                                        int32\n",
       "tweet_type                                                                      int8\n",
       "language                                                                        int8\n",
       "timestamp                                                                      int32\n",
       "a_user_id                                                                      int32\n",
       "a_follower_count                                                               int32\n",
       "a_following_count                                                              int32\n",
       "a_is_verified                                                                   int8\n",
       "a_account_creation                                                             int32\n",
       "b_user_id                                                                      int32\n",
       "b_follower_count                                                               int32\n",
       "b_following_count                                                              int32\n",
       "b_is_verified                                                                   int8\n",
       "b_account_creation                                                             int32\n",
       "b_follows_a                                                                     int8\n",
       "reply                                                                          int32\n",
       "retweet                                                                        int32\n",
       "retweet_comment                                                                int32\n",
       "like                                                                           int32\n",
       "id                                                                             int32\n",
       "tr                                                                             int32\n",
       "dt_day                                                                          int8\n",
       "dt_dow                                                                          int8\n",
       "dt_hour                                                                         int8\n",
       "a_count_combined                                                               int32\n",
       "a_user_fer_count_delta_time                                                    int32\n",
       "a_user_fing_count_delta_time                                                   int32\n",
       "a_user_fering_count_delta_time                                                 int32\n",
       "a_user_fing_count_mode                                                         int32\n",
       "a_user_fer_count_mode                                                          int32\n",
       "a_user_fering_count_mode                                                       int32\n",
       "count_ats                                                                      int32\n",
       "count_char                                                                     int32\n",
       "count_words                                                                    int32\n",
       "tw_hash                                                                        int32\n",
       "tw_freq_hash                                                                   int32\n",
       "tw_first_word                                                                  int32\n",
       "tw_second_word                                                                 int32\n",
       "tw_last_word                                                                   int32\n",
       "tw_llast_word                                                                  int32\n",
       "tw_len                                                                         int32\n",
       "tw_hash0                                                                       int32\n",
       "tw_hash1                                                                       int32\n",
       "tw_rt_uhash                                                                    int32\n",
       "TE_b_user_id_tweet_type_language_like                                        float32\n",
       "TE_tw_first_word_tweet_type_language_like                                    float32\n",
       "TE_tw_last_word_tweet_type_language_like                                     float32\n",
       "TE_tw_hash0_tweet_type_language_like                                         float32\n",
       "TE_tw_hash1_tweet_type_language_like                                         float32\n",
       "TE_tw_rt_uhash_tweet_type_language_like                                      float32\n",
       "TE_a_user_id_like                                                            float32\n",
       "TE_b_user_id_like                                                            float32\n",
       "TE_tw_hash_like                                                              float32\n",
       "TE_tw_freq_hash_like                                                         float32\n",
       "TE_media_tweet_type_language_a_is_verified_b_is_verified_b_follows_a_like    float32\n",
       "TE_a_count_combined_tweet_type_language_like                                 float32\n",
       "TE_a_user_fer_count_delta_time_media_language_like                           float32\n",
       "TE_a_user_fing_count_delta_time_media_language_like                          float32\n",
       "TE_a_user_fering_count_delta_time_tweet_type_language_like                   float32\n",
       "TE_a_user_fing_count_mode_media_language_like                                float32\n",
       "TE_a_user_fer_count_mode_media_language_like                                 float32\n",
       "TE_a_user_fering_count_mode_tweet_type_language_like                         float32\n",
       "TE_domains_media_tweet_type_language_like                                    float32\n",
       "TE_links_media_tweet_type_language_like                                      float32\n",
       "TE_hashtags_media_tweet_type_language_like                                   float32\n",
       "dtype: object"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "save_memory( train )\n",
    "train.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using 35 features:\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array(['media', 'tweet_type', 'a_follower_count', 'a_following_count',\n",
       "       'a_is_verified', 'b_follower_count', 'b_following_count',\n",
       "       'b_follows_a', 'dt_dow', 'dt_hour', 'count_ats', 'count_char',\n",
       "       'count_words', 'tw_len', 'TE_b_user_id_tweet_type_language_like',\n",
       "       'TE_tw_first_word_tweet_type_language_like',\n",
       "       'TE_tw_last_word_tweet_type_language_like',\n",
       "       'TE_tw_hash0_tweet_type_language_like',\n",
       "       'TE_tw_hash1_tweet_type_language_like',\n",
       "       'TE_tw_rt_uhash_tweet_type_language_like', 'TE_a_user_id_like',\n",
       "       'TE_b_user_id_like', 'TE_tw_hash_like', 'TE_tw_freq_hash_like',\n",
       "       'TE_media_tweet_type_language_a_is_verified_b_is_verified_b_follows_a_like',\n",
       "       'TE_a_count_combined_tweet_type_language_like',\n",
       "       'TE_a_user_fer_count_delta_time_media_language_like',\n",
       "       'TE_a_user_fing_count_delta_time_media_language_like',\n",
       "       'TE_a_user_fering_count_delta_time_tweet_type_language_like',\n",
       "       'TE_a_user_fing_count_mode_media_language_like',\n",
       "       'TE_a_user_fer_count_mode_media_language_like',\n",
       "       'TE_a_user_fering_count_mode_tweet_type_language_like',\n",
       "       'TE_domains_media_tweet_type_language_like',\n",
       "       'TE_links_media_tweet_type_language_like',\n",
       "       'TE_hashtags_media_tweet_type_language_like'], dtype='<U73')"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "label_names = ['reply', 'retweet', 'retweet_comment', 'like']\n",
    "DONT_USE = ['timestamp','a_account_creation','b_account_creation','engage_time',\n",
    "            'a_account_creation', 'b_account_creation',\n",
    "            'fold','tweet_id', \n",
    "            'tr','dt_day','','',\n",
    "            'b_user_id','a_user_id','b_is_verified',\n",
    "            'elapsed_time',\n",
    "            'links','domains','hashtags0','hashtags1',\n",
    "            'hashtags','tweet_hash','dt_second','id',\n",
    "            'tw_hash0',\n",
    "            'tw_hash1',\n",
    "            'tw_rt_uhash',\n",
    "            'same_language', 'nan_language','language',\n",
    "            'tw_hash', 'tw_freq_hash','tw_first_word', 'tw_second_word', 'tw_last_word', 'tw_llast_word',\n",
    "            'ypred','a_count_combined','a_user_fer_count_delta_time','a_user_fing_count_delta_time','a_user_fering_count_delta_time','a_user_fing_count_mode','a_user_fer_count_mode','a_user_fering_count_mode'\n",
    "            \n",
    "           ]\n",
    "DONT_USE += label_names\n",
    "features = [c for c in train.columns if c not in DONT_USE]\n",
    "\n",
    "print('Using %i features:'%(len(features)))\n",
    "np.asarray(features)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>hashtags</th>\n",
       "      <th>tweet_id</th>\n",
       "      <th>media</th>\n",
       "      <th>links</th>\n",
       "      <th>domains</th>\n",
       "      <th>tweet_type</th>\n",
       "      <th>language</th>\n",
       "      <th>timestamp</th>\n",
       "      <th>a_user_id</th>\n",
       "      <th>a_follower_count</th>\n",
       "      <th>a_following_count</th>\n",
       "      <th>a_is_verified</th>\n",
       "      <th>a_account_creation</th>\n",
       "      <th>b_user_id</th>\n",
       "      <th>b_follower_count</th>\n",
       "      <th>b_following_count</th>\n",
       "      <th>b_is_verified</th>\n",
       "      <th>b_account_creation</th>\n",
       "      <th>b_follows_a</th>\n",
       "      <th>reply</th>\n",
       "      <th>retweet</th>\n",
       "      <th>retweet_comment</th>\n",
       "      <th>like</th>\n",
       "      <th>id</th>\n",
       "      <th>tr</th>\n",
       "      <th>dt_day</th>\n",
       "      <th>dt_dow</th>\n",
       "      <th>dt_hour</th>\n",
       "      <th>a_count_combined</th>\n",
       "      <th>a_user_fer_count_delta_time</th>\n",
       "      <th>a_user_fing_count_delta_time</th>\n",
       "      <th>a_user_fering_count_delta_time</th>\n",
       "      <th>a_user_fing_count_mode</th>\n",
       "      <th>a_user_fer_count_mode</th>\n",
       "      <th>a_user_fering_count_mode</th>\n",
       "      <th>count_ats</th>\n",
       "      <th>count_char</th>\n",
       "      <th>count_words</th>\n",
       "      <th>tw_hash</th>\n",
       "      <th>tw_freq_hash</th>\n",
       "      <th>tw_first_word</th>\n",
       "      <th>tw_second_word</th>\n",
       "      <th>tw_last_word</th>\n",
       "      <th>tw_llast_word</th>\n",
       "      <th>tw_len</th>\n",
       "      <th>tw_hash0</th>\n",
       "      <th>tw_hash1</th>\n",
       "      <th>tw_rt_uhash</th>\n",
       "      <th>TE_b_user_id_tweet_type_language_like</th>\n",
       "      <th>TE_tw_first_word_tweet_type_language_like</th>\n",
       "      <th>TE_tw_last_word_tweet_type_language_like</th>\n",
       "      <th>TE_tw_hash0_tweet_type_language_like</th>\n",
       "      <th>TE_tw_hash1_tweet_type_language_like</th>\n",
       "      <th>TE_tw_rt_uhash_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_id_like</th>\n",
       "      <th>TE_b_user_id_like</th>\n",
       "      <th>TE_tw_hash_like</th>\n",
       "      <th>TE_tw_freq_hash_like</th>\n",
       "      <th>TE_media_tweet_type_language_a_is_verified_b_is_verified_b_follows_a_like</th>\n",
       "      <th>TE_a_count_combined_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_fer_count_delta_time_media_language_like</th>\n",
       "      <th>TE_a_user_fing_count_delta_time_media_language_like</th>\n",
       "      <th>TE_a_user_fering_count_delta_time_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_fing_count_mode_media_language_like</th>\n",
       "      <th>TE_a_user_fer_count_mode_media_language_like</th>\n",
       "      <th>TE_a_user_fering_count_mode_tweet_type_language_like</th>\n",
       "      <th>TE_domains_media_tweet_type_language_like</th>\n",
       "      <th>TE_links_media_tweet_type_language_like</th>\n",
       "      <th>TE_hashtags_media_tweet_type_language_like</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>146255999</th>\n",
       "      <td>0</td>\n",
       "      <td>73443134</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>59</td>\n",
       "      <td>1582081341</td>\n",
       "      <td>1362744</td>\n",
       "      <td>5390</td>\n",
       "      <td>833</td>\n",
       "      <td>0</td>\n",
       "      <td>1546658592</td>\n",
       "      <td>30848700</td>\n",
       "      <td>5390</td>\n",
       "      <td>833</td>\n",
       "      <td>0</td>\n",
       "      <td>1428007228</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>146255999</td>\n",
       "      <td>2</td>\n",
       "      <td>19</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>76</td>\n",
       "      <td>15</td>\n",
       "      <td>39170347</td>\n",
       "      <td>34858164</td>\n",
       "      <td>28651</td>\n",
       "      <td>210319</td>\n",
       "      <td>2793</td>\n",
       "      <td>27536</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7739</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.326411</td>\n",
       "      <td>0.303084</td>\n",
       "      <td>0.298508</td>\n",
       "      <td>0.290474</td>\n",
       "      <td>0.318263</td>\n",
       "      <td>0.420115</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.256684</td>\n",
       "      <td>0.688985</td>\n",
       "      <td>0.762254</td>\n",
       "      <td>0.652313</td>\n",
       "      <td>0.679491</td>\n",
       "      <td>0.625643</td>\n",
       "      <td>0.730534</td>\n",
       "      <td>0.626385</td>\n",
       "      <td>0.274295</td>\n",
       "      <td>0.274295</td>\n",
       "      <td>0.274989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146256000</th>\n",
       "      <td>0</td>\n",
       "      <td>73443135</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>54</td>\n",
       "      <td>1582091134</td>\n",
       "      <td>179475</td>\n",
       "      <td>17747</td>\n",
       "      <td>1467</td>\n",
       "      <td>0</td>\n",
       "      <td>1172558525</td>\n",
       "      <td>4950585</td>\n",
       "      <td>17747</td>\n",
       "      <td>1467</td>\n",
       "      <td>0</td>\n",
       "      <td>1272381192</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>146256000</td>\n",
       "      <td>2</td>\n",
       "      <td>19</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>159</td>\n",
       "      <td>29</td>\n",
       "      <td>38847520</td>\n",
       "      <td>1535005</td>\n",
       "      <td>300662</td>\n",
       "      <td>267542</td>\n",
       "      <td>11</td>\n",
       "      <td>867</td>\n",
       "      <td>13</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10748</td>\n",
       "      <td>0.394829</td>\n",
       "      <td>0.466326</td>\n",
       "      <td>0.317002</td>\n",
       "      <td>0.334638</td>\n",
       "      <td>0.317721</td>\n",
       "      <td>0.445803</td>\n",
       "      <td>0.371185</td>\n",
       "      <td>0.289541</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.41363</td>\n",
       "      <td>0.306899</td>\n",
       "      <td>0.002351</td>\n",
       "      <td>0.007295</td>\n",
       "      <td>0.616309</td>\n",
       "      <td>0.005790</td>\n",
       "      <td>0.583780</td>\n",
       "      <td>0.015339</td>\n",
       "      <td>0.012400</td>\n",
       "      <td>0.298958</td>\n",
       "      <td>0.298958</td>\n",
       "      <td>0.303666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146256001</th>\n",
       "      <td>0</td>\n",
       "      <td>73443136</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>1582086464</td>\n",
       "      <td>366281</td>\n",
       "      <td>4386</td>\n",
       "      <td>80</td>\n",
       "      <td>0</td>\n",
       "      <td>1457176980</td>\n",
       "      <td>30312854</td>\n",
       "      <td>4386</td>\n",
       "      <td>80</td>\n",
       "      <td>0</td>\n",
       "      <td>1235182992</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>146256001</td>\n",
       "      <td>2</td>\n",
       "      <td>19</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>72</td>\n",
       "      <td>10</td>\n",
       "      <td>49748666</td>\n",
       "      <td>44369960</td>\n",
       "      <td>7361311</td>\n",
       "      <td>466019</td>\n",
       "      <td>19261</td>\n",
       "      <td>202536</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>58462</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.413630</td>\n",
       "      <td>0.307564</td>\n",
       "      <td>0.280661</td>\n",
       "      <td>0.285517</td>\n",
       "      <td>0.264599</td>\n",
       "      <td>0.220308</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.422012</td>\n",
       "      <td>0.559802</td>\n",
       "      <td>0.754079</td>\n",
       "      <td>0.630818</td>\n",
       "      <td>0.557049</td>\n",
       "      <td>0.622638</td>\n",
       "      <td>0.741874</td>\n",
       "      <td>0.530790</td>\n",
       "      <td>0.402422</td>\n",
       "      <td>0.402422</td>\n",
       "      <td>0.410858</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146256002</th>\n",
       "      <td>845560</td>\n",
       "      <td>73443137</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>11</td>\n",
       "      <td>1581665518</td>\n",
       "      <td>1030299</td>\n",
       "      <td>4236</td>\n",
       "      <td>4119</td>\n",
       "      <td>0</td>\n",
       "      <td>1524226898</td>\n",
       "      <td>3141261</td>\n",
       "      <td>4354</td>\n",
       "      <td>3629</td>\n",
       "      <td>0</td>\n",
       "      <td>1501554925</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>146256002</td>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "      <td>4</td>\n",
       "      <td>7</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>161</td>\n",
       "      <td>42</td>\n",
       "      <td>50323632</td>\n",
       "      <td>44880036</td>\n",
       "      <td>7551233</td>\n",
       "      <td>985413</td>\n",
       "      <td>112</td>\n",
       "      <td>2712</td>\n",
       "      <td>14</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.765348</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.479254</td>\n",
       "      <td>0.542145</td>\n",
       "      <td>0.535521</td>\n",
       "      <td>0.542154</td>\n",
       "      <td>0.571044</td>\n",
       "      <td>0.795518</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.505637</td>\n",
       "      <td>0.884711</td>\n",
       "      <td>0.765740</td>\n",
       "      <td>0.583335</td>\n",
       "      <td>0.880250</td>\n",
       "      <td>0.555698</td>\n",
       "      <td>0.727847</td>\n",
       "      <td>0.853510</td>\n",
       "      <td>0.482691</td>\n",
       "      <td>0.482691</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146256003</th>\n",
       "      <td>6845</td>\n",
       "      <td>73443138</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>11</td>\n",
       "      <td>1581799075</td>\n",
       "      <td>6937005</td>\n",
       "      <td>4354</td>\n",
       "      <td>3629</td>\n",
       "      <td>0</td>\n",
       "      <td>1269050894</td>\n",
       "      <td>3141261</td>\n",
       "      <td>4354</td>\n",
       "      <td>3629</td>\n",
       "      <td>0</td>\n",
       "      <td>1501554925</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>146256003</td>\n",
       "      <td>2</td>\n",
       "      <td>15</td>\n",
       "      <td>5</td>\n",
       "      <td>20</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>216</td>\n",
       "      <td>71</td>\n",
       "      <td>50323633</td>\n",
       "      <td>44880037</td>\n",
       "      <td>2674107</td>\n",
       "      <td>2769099</td>\n",
       "      <td>646</td>\n",
       "      <td>2378</td>\n",
       "      <td>26</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.765348</td>\n",
       "      <td>0.437456</td>\n",
       "      <td>0.586783</td>\n",
       "      <td>0.542145</td>\n",
       "      <td>0.535521</td>\n",
       "      <td>0.542154</td>\n",
       "      <td>0.547449</td>\n",
       "      <td>0.795518</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.767347</td>\n",
       "      <td>0.884711</td>\n",
       "      <td>0.883839</td>\n",
       "      <td>0.752108</td>\n",
       "      <td>0.880250</td>\n",
       "      <td>0.732703</td>\n",
       "      <td>0.865272</td>\n",
       "      <td>0.853510</td>\n",
       "      <td>0.724289</td>\n",
       "      <td>0.724289</td>\n",
       "      <td>0.848702</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           hashtags  tweet_id  media  links  domains  tweet_type  language  \\\n",
       "146255999         0  73443134      0      0        0           1        59   \n",
       "146256000         0  73443135      0      0        0           1        54   \n",
       "146256001         0  73443136      9      0        0           1         4   \n",
       "146256002    845560  73443137      0      0        0           2        11   \n",
       "146256003      6845  73443138      7      0        0           2        11   \n",
       "\n",
       "            timestamp  a_user_id  a_follower_count  a_following_count  \\\n",
       "146255999  1582081341    1362744              5390                833   \n",
       "146256000  1582091134     179475             17747               1467   \n",
       "146256001  1582086464     366281              4386                 80   \n",
       "146256002  1581665518    1030299              4236               4119   \n",
       "146256003  1581799075    6937005              4354               3629   \n",
       "\n",
       "           a_is_verified  a_account_creation  b_user_id  b_follower_count  \\\n",
       "146255999              0          1546658592   30848700              5390   \n",
       "146256000              0          1172558525    4950585             17747   \n",
       "146256001              0          1457176980   30312854              4386   \n",
       "146256002              0          1524226898    3141261              4354   \n",
       "146256003              0          1269050894    3141261              4354   \n",
       "\n",
       "           b_following_count  b_is_verified  b_account_creation  b_follows_a  \\\n",
       "146255999                833              0          1428007228            0   \n",
       "146256000               1467              0          1272381192            0   \n",
       "146256001                 80              0          1235182992            0   \n",
       "146256002               3629              0          1501554925            1   \n",
       "146256003               3629              0          1501554925            1   \n",
       "\n",
       "           reply  retweet  retweet_comment  like         id  tr  dt_day  \\\n",
       "146255999      0        0                0     0  146255999   2      19   \n",
       "146256000      0        0                0     0  146256000   2      19   \n",
       "146256001      0        0                0     0  146256001   2      19   \n",
       "146256002      0        0                0     0  146256002   2      14   \n",
       "146256003      0        0                0     0  146256003   2      15   \n",
       "\n",
       "           dt_dow  dt_hour  a_count_combined  a_user_fer_count_delta_time  \\\n",
       "146255999       2        3                 2                            1   \n",
       "146256000       2        5                 0                            0   \n",
       "146256001       2        4                 2                            1   \n",
       "146256002       4        7                 2                            1   \n",
       "146256003       5       20                 2                            1   \n",
       "\n",
       "           a_user_fing_count_delta_time  a_user_fering_count_delta_time  \\\n",
       "146255999                             1                               1   \n",
       "146256000                             1                               0   \n",
       "146256001                             1                               1   \n",
       "146256002                             1                               1   \n",
       "146256003                             1                               1   \n",
       "\n",
       "           a_user_fing_count_mode  a_user_fer_count_mode  \\\n",
       "146255999                       1                      1   \n",
       "146256000                       1                      0   \n",
       "146256001                       1                      1   \n",
       "146256002                       1                      1   \n",
       "146256003                       1                      1   \n",
       "\n",
       "           a_user_fering_count_mode  count_ats  count_char  count_words  \\\n",
       "146255999                         1          0          76           15   \n",
       "146256000                         0          0         159           29   \n",
       "146256001                         1          0          72           10   \n",
       "146256002                         1          0         161           42   \n",
       "146256003                         1          0         216           71   \n",
       "\n",
       "            tw_hash  tw_freq_hash  tw_first_word  tw_second_word  \\\n",
       "146255999  39170347      34858164          28651          210319   \n",
       "146256000  38847520       1535005         300662          267542   \n",
       "146256001  49748666      44369960        7361311          466019   \n",
       "146256002  50323632      44880036        7551233          985413   \n",
       "146256003  50323633      44880037        2674107         2769099   \n",
       "\n",
       "           tw_last_word  tw_llast_word  tw_len  tw_hash0  tw_hash1  \\\n",
       "146255999          2793          27536       6         0         0   \n",
       "146256000            11            867      13         0         0   \n",
       "146256001         19261         202536       5         0         0   \n",
       "146256002           112           2712      14         0         0   \n",
       "146256003           646           2378      26         0         0   \n",
       "\n",
       "           tw_rt_uhash  TE_b_user_id_tweet_type_language_like  \\\n",
       "146255999         7739                                    NaN   \n",
       "146256000        10748                               0.394829   \n",
       "146256001        58462                                    NaN   \n",
       "146256002            0                               0.765348   \n",
       "146256003            0                               0.765348   \n",
       "\n",
       "           TE_tw_first_word_tweet_type_language_like  \\\n",
       "146255999                                   0.326411   \n",
       "146256000                                   0.466326   \n",
       "146256001                                   0.413630   \n",
       "146256002                                        NaN   \n",
       "146256003                                   0.437456   \n",
       "\n",
       "           TE_tw_last_word_tweet_type_language_like  \\\n",
       "146255999                                  0.303084   \n",
       "146256000                                  0.317002   \n",
       "146256001                                  0.307564   \n",
       "146256002                                  0.479254   \n",
       "146256003                                  0.586783   \n",
       "\n",
       "           TE_tw_hash0_tweet_type_language_like  \\\n",
       "146255999                              0.298508   \n",
       "146256000                              0.334638   \n",
       "146256001                              0.280661   \n",
       "146256002                              0.542145   \n",
       "146256003                              0.542145   \n",
       "\n",
       "           TE_tw_hash1_tweet_type_language_like  \\\n",
       "146255999                              0.290474   \n",
       "146256000                              0.317721   \n",
       "146256001                              0.285517   \n",
       "146256002                              0.535521   \n",
       "146256003                              0.535521   \n",
       "\n",
       "           TE_tw_rt_uhash_tweet_type_language_like  TE_a_user_id_like  \\\n",
       "146255999                                 0.318263           0.420115   \n",
       "146256000                                 0.445803           0.371185   \n",
       "146256001                                 0.264599           0.220308   \n",
       "146256002                                 0.542154           0.571044   \n",
       "146256003                                 0.542154           0.547449   \n",
       "\n",
       "           TE_b_user_id_like  TE_tw_hash_like  TE_tw_freq_hash_like  \\\n",
       "146255999                NaN              NaN                   NaN   \n",
       "146256000           0.289541              NaN               0.41363   \n",
       "146256001                NaN              NaN                   NaN   \n",
       "146256002           0.795518              NaN                   NaN   \n",
       "146256003           0.795518              NaN                   NaN   \n",
       "\n",
       "           TE_media_tweet_type_language_a_is_verified_b_is_verified_b_follows_a_like  \\\n",
       "146255999                                           0.256684                           \n",
       "146256000                                           0.306899                           \n",
       "146256001                                           0.422012                           \n",
       "146256002                                           0.505637                           \n",
       "146256003                                           0.767347                           \n",
       "\n",
       "           TE_a_count_combined_tweet_type_language_like  \\\n",
       "146255999                                      0.688985   \n",
       "146256000                                      0.002351   \n",
       "146256001                                      0.559802   \n",
       "146256002                                      0.884711   \n",
       "146256003                                      0.884711   \n",
       "\n",
       "           TE_a_user_fer_count_delta_time_media_language_like  \\\n",
       "146255999                                           0.762254    \n",
       "146256000                                           0.007295    \n",
       "146256001                                           0.754079    \n",
       "146256002                                           0.765740    \n",
       "146256003                                           0.883839    \n",
       "\n",
       "           TE_a_user_fing_count_delta_time_media_language_like  \\\n",
       "146255999                                           0.652313     \n",
       "146256000                                           0.616309     \n",
       "146256001                                           0.630818     \n",
       "146256002                                           0.583335     \n",
       "146256003                                           0.752108     \n",
       "\n",
       "           TE_a_user_fering_count_delta_time_tweet_type_language_like  \\\n",
       "146255999                                           0.679491            \n",
       "146256000                                           0.005790            \n",
       "146256001                                           0.557049            \n",
       "146256002                                           0.880250            \n",
       "146256003                                           0.880250            \n",
       "\n",
       "           TE_a_user_fing_count_mode_media_language_like  \\\n",
       "146255999                                       0.625643   \n",
       "146256000                                       0.583780   \n",
       "146256001                                       0.622638   \n",
       "146256002                                       0.555698   \n",
       "146256003                                       0.732703   \n",
       "\n",
       "           TE_a_user_fer_count_mode_media_language_like  \\\n",
       "146255999                                      0.730534   \n",
       "146256000                                      0.015339   \n",
       "146256001                                      0.741874   \n",
       "146256002                                      0.727847   \n",
       "146256003                                      0.865272   \n",
       "\n",
       "           TE_a_user_fering_count_mode_tweet_type_language_like  \\\n",
       "146255999                                           0.626385      \n",
       "146256000                                           0.012400      \n",
       "146256001                                           0.530790      \n",
       "146256002                                           0.853510      \n",
       "146256003                                           0.853510      \n",
       "\n",
       "           TE_domains_media_tweet_type_language_like  \\\n",
       "146255999                                   0.274295   \n",
       "146256000                                   0.298958   \n",
       "146256001                                   0.402422   \n",
       "146256002                                   0.482691   \n",
       "146256003                                   0.724289   \n",
       "\n",
       "           TE_links_media_tweet_type_language_like  \\\n",
       "146255999                                 0.274295   \n",
       "146256000                                 0.298958   \n",
       "146256001                                 0.402422   \n",
       "146256002                                 0.482691   \n",
       "146256003                                 0.724289   \n",
       "\n",
       "           TE_hashtags_media_tweet_type_language_like  \n",
       "146255999                                    0.274989  \n",
       "146256000                                    0.303666  \n",
       "146256001                                    0.410858  \n",
       "146256002                                         NaN  \n",
       "146256003                                    0.848702  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((60714530, 69), (60671901, 69), (12434735, 69), (12434838, 69))"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.random.seed(2020)\n",
    "SEED = 1\n",
    "\n",
    "valid = train.loc[ ((train.tweet_id % 2)==1)&(train.tr==0) ]\n",
    "gc.collect()\n",
    "\n",
    "test0 = train.loc[ (train.tr==1) ]\n",
    "gc.collect()\n",
    "\n",
    "test1 = train.loc[ (train.tr==2) ]\n",
    "gc.collect()\n",
    "\n",
    "train = train.loc[ ((train.tweet_id % 2)==0)&(train.tr==0) ]\n",
    "gc.collect()\n",
    "\n",
    "train.shape, valid.shape, test0.shape, test1.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGB Version 1.1.0\n"
     ]
    }
   ],
   "source": [
    "xgb_parms = { \n",
    "    'max_depth':8, \n",
    "    'learning_rate':0.025, \n",
    "    'subsample':0.85,\n",
    "    'colsample_bytree':0.35, \n",
    "    'eval_metric':'logloss',\n",
    "    'objective':'binary:logistic',\n",
    "    'tree_method':'gpu_hist',\n",
    "    #'predictor': 'gpu_predictor',\n",
    "    'seed': 1,\n",
    "}\n",
    "\n",
    "import xgboost as xgb\n",
    "print('XGB Version',xgb.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# CREATE TRAIN AND VALIDATION SETS\n",
    "RMV = [c for c in DONT_USE if c in train.columns]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "#########################\n",
      "### like\n",
      "#########################\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "9"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#LEarning rates for 'reply', 'retweet', 'retweet_comment', 'like'\n",
    "LR = [0.05,0.03,0.07,0.01]\n",
    "\n",
    "#Like\n",
    "xgb_parms['learning_rate'] = LR[TARGET_id]\n",
    "\n",
    "print('#'*25);print('###',TARGET);print('#'*25)\n",
    "\n",
    "dtrain = xgb.DMatrix(data=train.drop(RMV, axis=1) ,label=train[TARGET].values)\n",
    "gc.collect()\n",
    "\n",
    "model = xgb.train(xgb_parms, \n",
    "                  dtrain=dtrain,\n",
    "                  num_boost_round=500,\n",
    "                 ) \n",
    "\n",
    "del dtrain\n",
    "gc.collect()  \n",
    "\n",
    "#save model\n",
    "joblib.dump(model, 'model-'+TARGET+'-1.xgb' ) \n",
    "del model\n",
    "gc.collect()  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dtrain = xgb.DMatrix(data=valid.drop(RMV, axis=1) ,label=valid[TARGET].values)\n",
    "gc.collect()\n",
    "\n",
    "model = xgb.train(xgb_parms, \n",
    "                  dtrain=dtrain,\n",
    "                  num_boost_round=500,\n",
    "                 ) \n",
    "\n",
    "del dtrain\n",
    "gc.collect()  \n",
    "\n",
    "#save model\n",
    "joblib.dump(model, 'model-'+TARGET+'-2.xgb' ) \n",
    "\n",
    "del model\n",
    "gc.collect()  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "load xgb1\n"
     ]
    }
   ],
   "source": [
    "print('load xgb1')\n",
    "model = joblib.load( 'model-'+TARGET+'-1.xgb' )\n",
    "dvalid = xgb.DMatrix(data=valid.drop(RMV, axis=1))\n",
    "valid['ypred'] = model.predict(dvalid)\n",
    "del dvalid, model; _=gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "load xgb2\n"
     ]
    }
   ],
   "source": [
    "print('load xgb2')\n",
    "model = joblib.load( 'model-'+TARGET+'-2.xgb' )\n",
    "dtrain = xgb.DMatrix(data=train.drop(RMV, axis=1))\n",
    "train['ypred'] = model.predict(dtrain)\n",
    "del dtrain, model; _=gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "OOF RCE:\n",
      "62.608536311356545\n",
      "62.60672850751694\n"
     ]
    }
   ],
   "source": [
    "print(\"OOF RCE:\")\n",
    "print( compute_rce( valid[TARGET].values, valid['ypred'].values ) )\n",
    "print( compute_rce( train[TARGET].values, train['ypred'].values ) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f16bc7984e0>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "dt0 = train.groupby( ['dt_day','dt_hour'] )['ypred'].agg('mean').reset_index()\n",
    "dt1 = valid.groupby( ['dt_day','dt_hour'] )['ypred'].agg('mean').reset_index()\n",
    "dt0.sort_values(['dt_day','dt_hour'], inplace=True)\n",
    "dt1.sort_values(['dt_day','dt_hour'], inplace=True)\n",
    "\n",
    "dt0['ypred2'] = dt1['ypred'].values\n",
    "\n",
    "dt0[['ypred','ypred2']].plot(  )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f16bc78d6d8>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABDwAAALJCAYAAABY5TNzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeXhV1dn+8e8NOIBxaEWoEyKgoIBEi1WqaGod6isOUK21Wl+gqGitSMGpDqSKBZEqtFLHUq1aVKQIr/pTqRrFicmGSQWspqK1ojhAQJDA8/tj78RDzMiQwMn9ua5zZe+1117r2ftsSc7jWusoIjAzMzMzMzMzyyaN6jsAMzMzMzMzM7NNzQkPMzMzMzMzM8s6TniYmZmZmZmZWdZxwsPMzMzMzMzMso4THmZmZmZmZmaWdZzwMDMzMzMzM7Os44SHmZmZmdlmJuk3ku6p7zjMzBoSRUR9x2BmZmZmVilJRUBLYG1G8f4R8Z+NbLNfRPxj46Lb+kjKB9pFxDn1HYuZ2ebkER5mZmZmtjU4OSJyMl4bnOzYFCQ1qc/+N9TWGreZ2YZwwsPMzMzMtkqSdpb0Z0kfSvpA0lBJjdNjbSU9J2mppE8kPShpl/TY/UAr4P8kFUu6XFKepPfLtV8k6dh0O1/So5IekLQM6F1V/xXEmi/pgXS7taSQ1EfSYkmfSeov6VBJcyR9Lum2jHN7S3pZ0h8lfSHpLUk/zDi+h6TJkj6V9Lak88r1mxl3f+A3wJnptc9O6/WR9Kak5ZLekXRBRht5kt6XNEjSkvR6+2Qcbyrp95L+ncb3kqSm6bHDJb2SXtNsSXkb9GabmW0AJzzMzMzMbGt1H1ACtAMOBo4H+qXHBAwD9gAOAPYG8gEi4ufAe3w9amREDfs7FXgU2AV4sJr+a+IwYD/gTGAUcDVwLNAR+Imko8vVfQdoDgwB/i7p2+mxccD76bWeDvwuMyFSLu4/A78DHk6vvUtaZwnQA9gJ6APcKumQjDa+A+wM7An8Ahgj6VvpsZHAd4HvA98GLgfWSdoTeAIYmpYPBiZI2q0W98jMbIM54WFmZmZmW4PH0lECn0t6TFJL4ETg0ohYERFLgFuBnwJExNsRMSUiVkfEx8AtwNGVN18jr0bEYxGxjiQxUGn/NXRDRKyKiGeAFcC4iFgSER8AU0mSKKWWAKMiYk1EPAwsAE6StDdwJHBF2lYhcA/w84rijogvKwokIp6IiH9F4gXgGaB7RpU1wPVp/08CxUB7SY2AvsCAiPggItZGxCsRsRo4B3gyIp5M+54CzAT+pxb3yMxsg3kOn5mZmZltDU7LXGBU0veAbYAPJZUWNwIWp8dbAH8g+dC+Y3rss42MYXHG9j5V9V9DH2Vsf1nBfk7G/gex/rcN/JtkRMcewKcRsbzcsa6VxF0hSSeSjBzZn+Q6mgFzM6osjYiSjP2VaXzNge2Bf1XQ7D7AGZJOzijbBni+unjMzDYFJzzMzMzMbGu0GFgNNC/3QbzUMCCAgyJiqaTTgNsyjpf/qsIVJB/yAUjX4ig/9SLznOr639T2lKSMpEcrYDLwH+DbknbMSHq0Aj7IOLf8ta63L2k7YAJwLjApItZIeoxkWlB1PgFWAW2B2eWOLQbuj4jzvnGWmVkd8JQWMzMzM9vqRMSHJNMufi9pJ0mN0oVKS6et7Egy7eLzdC2Jy8o18RHQJmN/IbC9pJMkbQNcA2y3Ef1vai2ASyRtI+kMknVJnoyIxcArwDBJ20s6iGSNjQeraOsjoHU6HQVgW5Jr/RgoSUd7HF+ToNLpPWOBW9LFUxtL6pYmUR4ATpZ0Qlq+fboA6l61v3wzs9pzwsPMzMzMtlbnknxYf4NkusqjwO7psd8ChwBfkCyc+fdy5w4DrknXBBkcEV8AF5Gsf/EByYiP96laVf1vatNIFjj9BLgROD0ilqbHzgJak4z2mAgMSdfLqMz49OdSSa+nI0MuAR4huY6fkYweqanBJNNfZgCfAjcBjdJkzKkk3wrzMcmIj8vwZxAzqyNafyqgmZmZmZltSST1BvpFxJH1HYuZ2dbE2VUzMzMzMzMzyzpOeJiZmZmZmZlZ1vGUFjMzMzMzMzPLOh7hYWZmZmZmZmZZp0l9B2BmZtlpl112iXbt2tV3GFZPVqxYwQ477FDfYVg98jNgfgYaNr//VlfPwKxZsz6JiN0qOuaEh5mZbRYtW7Zk5syZ9R2G1ZOCggLy8vLqOwyrR34GzM9Aw+b33+rqGZD078qOeUqLmZmZmZmZmWUdJzzMzMzMzMzMLOs44WFmZmZmZmZmWccJDzMzMzMzMzPLOk54mJmZmZmZmVnWccLDzMzMzMzMzLKOEx5mZmZmZmZmlnWc8DAzMzMzMzOzrNOkvgMwM7Ps9OWatbS+8on6DsPqyaDOJfT2+9+g+RkwPwMNm9//+lE0/KT6DmGL4hEeZmZmZmZmZpZ1nPAwMzMzMzMzs6zjhIeZmZmZmZmZZR0nPMzMzMzMzMyyyOjRo+nUqRMdO3Zk1KhR6x0bOXIkkvjkk0/KyubMmUO3bt3o2LEjnTt3ZtWqVQBcffXV7L333uTk5NRp/JuKEx5mZmZmZmZmWWLevHncfffdTJ8+ndmzZ/P444+zaNEiABYvXsyUKVNo1apVWf2SkhLOOecc7rjjDubPn09BQQHbbLMNACeffDLTp0+vl+vYFJzwMLOsJ2lXSYXp67+SPsjYj4ztQklXVtFOkaTmdRl7TUi6XtKxFZTnSXq8ivN6S7ot3e4v6dx0u0BS180XsZmZmZltLm+++SaHH344zZo1o0mTJhx99NFMnDgRgIEDBzJixAgkldV/5plnOOigg+jSpQsAu+66K40bNwbg8MMPZ/fdd6/7i9hE/LW0Zpb1ImIpkAsgKR8ojoiR6X5xROTWY3g1JqlxRKwtXx4R121s2xFxx8a2YWZmZmb1r1OnTlx99dUsXbqUpk2b8uSTT9K1a1cmT57MnnvuWZbYKLVw4UIkccIJJ/Dxxx/z05/+lMsvv7yeot+0PMLDzKx2LpM0PX21q6ySpHslnZ6xX5z+3F3Si+loknmSuqflx0t6VdLrksZLyknLiyRdJ+kl4Izq+pL0I0lvpfV71fSiJOVLGlyurJGk+yQNldRY0s2SZkiaI+mCmrZtZmZmZnXngAMO4IorruC4447jRz/6EV26dKFJkybceOONXH/99d+oX1JSwksvvcSDDz7ISy+9xMSJE3n22WfrIfJNzyM8zKyhayqpMGN/WEQ8XEX9ZRHxvXT6xyigRy37+xnwdETcKKkx0CydJnMNcGxErJB0BfBroPQ30qqIOLK6hiVtD9wNHAO8DVR1HdVpAjwIzEtjPR/4IiIOlbQd8LKkZyLi3XIxnA+cD9C8+W5c17lkI0KwrVnLpjDI73+D5mfA/Aw0bH7/60dBQQEAbdu25ZZbbgHg7rvvpkmTJixcuJD27dsD8PHHH9OxY0duv/12li1bRvv27Zk3bx6QJEzGjx9fNq0FYO3atWVt11RxcXGtz9nUnPAws4buy1pOaRmX8fPWDehvBjBW0jbAYxFRKOlo4ECSJALAtsCrGefUNHHRAXg3IhYBSHqANPmwAe4EHomIG9P944GDMkat7AzsB6yX8IiIu4C7AFq1aRe/n+tfMw3VoM4l+P1v2PwMmJ+Bhs3vf/0oOjsPgCVLltCiRQvee+89Zs2axauvvsptt91WVq9169bMnDmT5s2b84Mf/IAf/vCHfO9732Pbbbdl6NChDBw4kLy8vLL6jRs3Xm+/JgoKCmp9zqbmKS1mZrUTlWyXV0L6b6ySLMa2ABHxInAU8AFwfzpSRMCUiMhNXwdGxC8y2lqxgfFtjFeAH6SjRkhj/FVGjPtGxDObqC8zMzMz24R+/OMfc+CBB3LyySczZswYvvWtb1Va91vf+ha//vWvOfTQQ8nNzeWQQw7hpJNOAuDyyy9nr732YuXKley1117k5+fX0RVsGk65mZnVzpnA8PTnq1XUKwK+CzwCnApsAyBpH+CDiLhb0g7AIcCNwBhJ7SLibUnNgL0iYmEtY3sL2FdS24j4F3BWLc/P9GeSxMx4ST2Bp4ELJT0XEWsk7Z9eR22SMWZmZmZWB6ZOnVrl8aKiovX2zznnHM4555xv1BsxYgQjRozYlKHVKSc8zKyhK7+Gx1MRUelX0wLbSZpGMnqjqoTC3cAkSdOBZ/l6lEYeycKna4Bi4NyI+FhSb2Bcuj4GJGt61CrhERGr0jU0npD0CfAS0Kk2bZRr7xZJOwP3A2cDrYHX0xErHwOnbWjbZmZmZmabmxMeZtagRER+uf3GlVSt6NzW6eZva1D3I+DwjKKr0vL7gPsqqP8ccGgVfVbVV++M7adI1vKoVkTcC9ybbudnlOdlbA/JOOU36cvMzMzMbIvnNTzMzMzMzMzMLOt4hIeZWTmSJgL7liu+IiKerqDu1cAZ5YrHZ3y7yaaMawxwRLni0RHxl2rO6wMMKFf8ckT8clPGZ2ZmZma2JXHCw8ysnIjoWYu6N5IsOrrZbWiCIk2IVJkUMTMzMzPLNk54mJmZmZmZ2UYrGn5S2XZBQQFFZ+fVXzBmeA0PMzMzMzMzM8tCTniYmZmZmZmZWdZxwsPMzMzMzMzMso4THmZmZmZmZrZJLFiwgNzcXPr160dubi477bQTo0aNYvbs2XTr1o3OnTtz8skns2zZsvXOe++998jJyWHkyJEALF++nNzc3LJX8+bNufTSS+vjkmwr5oSHmZmZmZmZbRLt27ensLCQe+65h1mzZtGsWTN69uxJv379GD58OHPnzqVnz57cfPPN6503cOBATjzxxLL9HXfckcLCwrLXPvvsQ69ever6cmwr54SHWQ1I2lVSYfr6r6QPMvYjY7tQ0pVVtFMkqXldxl4Tkq6XdGwF5XmSHq/ivDxJ39+McbWW9LNq6uRK+p/NFUMF8cyri77qgqTekm5Lt/tLOjfdLpDUtX6jMzMzs63ds88+S9u2bdlnn31YsGABRx11FADHHXccEyZMKKv32GOP0aZNGzp27FhhO4sWLWLJkiV07969TuK27OGEh1kNRMTSiMiNiFzgDuDWjP0Vpdvpa3g9h1spSY0rKo+I6yLiHxvQZB6w2RIeQGugyoQHkAvUScIjm0XEHRHx1/qOw8zMzLLHQw89xFlnnQVAp06dmDx5MgDjx49n8eLFAKxYsYKbbrqJIUOGVNrOuHHjOPPMM5G0+YO2rOKEh1ndu0zS9PTVrrJKku6VdHrGfnH6c3dJL6ajSeZJ6p6WHy/pVUmvSxovKSctL5J0naSXgDOq60vSjyS9ldavdNygpNZAf2BgGsvRkt5RYhdJ6yQdldadKqmdpB0kjZU0Q9I/JZ2aHm8s6ea0fI6kC9JuhgPd0/YHVhDDtsD1wJlpnTMlLZK0W3q8kaS3JTVPr/GONJaFknpU03eV0tEeU9P7/XrpSJd01EuBpEfT+/ig0t/Okv6n9N5K+kPp6BlJ+ZIGZ7Q9L72/SHpM0ixJ8yWdn1HnF+l1FEi6O2Okxm6SJqTXM0PSETW8nvViyLh/90kauqH3yczMzBqmNWvWMHnyZM44I/nzc+zYsYwZM4bvfve7LF++nG233RaAIUOGMHDgQHJyciptKzNxYlYbTeo7ALMs0FRSYcb+sIh4uIr6yyLie+n0gVFAj1r29zPg6Yi4MR2x0UzJNJlrgGMjYoWkK4BfkyQDAFZFxJHVNSxpe+Bu4BjgbaDS64iIIkl3AMURMTI9fyFwILAvMIskWTEN2Csi3pb0O+C5iOgraRdguqR/AGcDX0TEoZK2A16W9AxwJTA4Iiq8RxHxlaTrgK4RcXEaQ4e0vVHAscDsiPgkzTm0Bo4G2gLPpwmncyvqOyLereZ2LQGOi4hVkvYDxgGl00AOBjoC/wFeBo6QNBO4EzgqIt6VNK6a9kv1jYhPJTUFZkiaAGwHXAscAiwHngNmp/VHk4xAeklSK+Bp4IAa9pWpCfAgMC991s6nBvcprXc+QPPmu3Fd55IN6NqyQcumMMjvf4PmZ8D8DDQ8BQUFZdsvvPAC++67L2+++SZvvvkmAL/5zW8AWLx4MS1atKCgoIBnnnmGBx54gEsuuYTi4mIaNWrE4sWL6dmzJwBvv/02y5cvZ/ny5eu1b1u+4uLien/PnPAw23hfplNbampcxs9bN6C/GcBYSdsAj0VEoaSjSRINL6cf7LcFXs04p6oETKYOwLsRsQhA0gOkH15raCpwFEnCYxhwHvBCGjPA8cApGSMJtgdapeUH6esRLTsD+wFf1aLvUmOBSSQJj77AXzKOPRIR64BFkt4hud7K+q4u4bENcJukXGAtsH/GsekR8T5AmgxrDRQD72QkCMZRs3t7iaSe6fbeaWzfAV6IiE/TPsZn9H8scKC+HvK5k6QdI2J5DfrKdCfJ/box3a/RfYqIu4C7AFq1aRe/n+tfMw3VoM4l+P1v2PwMmJ+Bhqfo7Lyy7euvv56LLrqIvLykbMmSJbRo0YJ169bRu3dvLrvsMvLy8pgzZ07ZOfn5+eTk5DB48NeDTp966in69u1b1o5tPQoKCur9ffO/QGZ1LyrZLq+EdNpZOiViW4CIeDGdKnIScL+km4HPgCkRUdlYvxUbGF9tTSWZ5rIHcB1wGck6Hy+mxwX8OCIWZJ6UXt+vIuLpcuV5tQ0gIhZL+kjSMcBhJKM9yg6Xr57G9I2+a2Ag8BHQheR9WpVxbHXG9lqSf2urmnRa9l6ntoey6z8W6BYRKyUVpMeqaqtRWv/LGl1F5V4BfiDp9xGxig2/T2ZmZtbArFy5klmzZjFx4sSysnHjxjFmzBgAevXqRZ8+fWrU1iOPPMKTTz65WeK07Oc1PMzq3pkZP1+tol4R8N10+1SSEQVI2gdYEhF3A38mmdbwGsm0iXZpnWaS9v9Gi9V7C9hXUtt0v7rJksuBHTP2p5EsYrou/ZBcCFxAkgiBZHrFrzLWtDg4o/zCdNQKkvaXtEMF7dckBoB7gAdIRiiszSg/I12Xoi3QBlhQRd/V2Rn4MB0x8nOgwgVhM7wFtCldm4OvnwNI3utD0v4PIRkhU9rHZ2myowNweFo+HTha0rckNQF+nNHWM8DFpTvpCJQN8WfgSWB82seG3iczMzNrYJo1a8akSZPYeeedy8oGDBjAwoULWbhwIcOHD69wAdL8/Pz1RncAvPPOO3To0GGzx2zZyQkPs43XVOt/LW1139KyXbquxQCSUQKVuZvkQ+10kpEKpaM08oBCSf8k+aA7OiI+BnoD4yTNIUmA1Po3Q5qkOB94Qsmipf+u5pT/A3qm1909IlYDi9P+IUl07AjMTfdvIEnczFHy9a43pOX3AG8Ar6fld5KMipgDlEiarQoWLU09TzKFo1BSaRJhMpDD+tNZIElwvAD8P6B/er2V9V2dPwH/K+k1kukkVY6iSUdcXAQ8ld7bj4Av0sMTgG+n018uBBam5U8BTdL39AbS+xoRHwC/I0kw/SONv7StS4Cu6cKib5CMuNkgEXEL8DpwPxt+n8zMzMzM6oUiNmb0upnZlkdSV5KFO7tnlN0LPB4Rj9ZjXDkRUZyOcBkDLIqIDVnHJbOtJsBEYGxETKzuvLrUqk27aPST0fUdhtUTz903PwPmZ6DhKRp+Utn2lrB+g9WvunoGJM2KiK4VHfMIDzPLKpKuJBkxcVV9x1KB89JRHPNJpqvcuRFt5adtzSNZOPSxTRCfmZmZmVnWcMrVbDOQNJGv12EodUVFCz5Kuho4o1zx+Ixvx9iUcY0BjihXPDoiyk/9KH9eH5IpOJlejohfbsr4qonhBOCmcsXvRkTPzIKIGA58Y1pRRPSuRV+dSaZxZFodEYfVtI2KpKM5NmhERwVtDa6+VmJLeP/MzMzMzOqaEx5mm0H5D+HV1L0R2OTJjUr62qAPuGlCpMqkyOaWJovq5BtCImIusKGLfW5xtoT3z8zMzMysrjnhYWZmZmZmZlXKXJ/DbGvhNTzMzMzMzMzMLOs44WFmZmZmZmZmWccJDzMzMzMzMzPLOk54mJmZmZmZmVnWccLDzMzMzMzMqrVgwQJyc3PLXjvttBOjRo2isLCQww8/nNzcXLp27cr06dPLzhk2bBjt2rWjffv2PP3011+4l5eXR/v27cvaWrJkSX1ckmU5f0uLmWU9SbsCz6a73wHWAh+n+12A2RnVH4qI4XUY3kaTdA9wS0S8Ua68N9A1Ii6u5Lx8oDgiRkq6HngxIv4hqSg975PNG7mZmZltTdq3b09hYSEAa9euZc8996Rnz56cd955DBkyhBNPPJEnn3ySyy+/nPz8fN544w0eeugh5s+fz3/+8x+OPfZYFi5cSOPGjQF48MEH6dq1a31ekmU5JzzMLOtFxFIgF9b/kJ/uF0dEbj2GV2OSGkfE2vLlEdFvY9uOiOs2tg0zMzNrOJ599lnatm3LPvvsgySWLVsGwBdffMEee+wBwKRJk/jpT3/Kdtttx7777ku7du2YPn063bp1q8/QrQHxlBYzsxqSdJ2kGZLmSbpLkqqoWyCpa7rdPB01gaSOkqZLKpQ0R9J+afk5GeV3SmqclhdLul7SNKDCvw7K9dVH0kJJLwBH1OLa7pV0ermyppKeknSepB0kjU2v/5+STq1p22ZmZpZ9HnroIc466ywARo0axWWXXcbee+/N4MGDGTZsGAAffPABe++9d9k5e+21Fx988EHZfp8+fcjNzeWGG24gIur2AqxB8AgPM2vomkoqzNgfFhEPV1L3toi4HkDS/UAP4P9q2V9/YHREPChpW6CxpAOAM4EjImKNpD8BZwN/BXYA5tVkBIak3YHfAt8FvgCeB/5Zy/hK5QAPAX+NiL9K+h3wXET0lbQLMF3SPyJiRbkYzgfOB2jefDeu61yygd3b1q5lUxjk979B8zNgfgayS0FBQdn2mjVrmDBhAj169KCgoIA//OEP/OIXv+Doo4/m+eefp1evXvz2t7/l/fff58033yw798MPP2T+/Pk0b96cX/7yl+y2226sXLmSIUOGsHLlSk444YT6uTjbLIqLi9d7buqDEx5m1tB9WYspLT+QdDnQDPg2MJ/aJzxeBa6WtBfw94hYJOmHJEmKGemgkaZA6cpda4EJNWz7MKAgIj4GkPQwsH8t4ys1CRgREQ+m+8cDp0ganO5vD7QC3sw8KSLuAu4CaNWmXfx+rn/NNFSDOpfg979h8zNgfgayS9HZeWXbkyZN4rDDDqNXr14AnHrqqUyYMAFJHH300dx6663k5ORw2GGHAckCpZAsYHr88cd/Y0rLkiVLmDlzZlk9yw4FBQX1/p56SouZWQ1I2h74E3B6RHQG7ib50F+ZEr7+N7asXkT8DTgF+BJ4WtIxgID7IiI3fbWPiPz0lFUVrdtRhU01HvRl4MSMaTsCfpwRY6uIeLOK883MzCxLjRs3rmw6C8Aee+zBCy+8AMBzzz3HfvvtB8App5zCQw89xOrVq3n33XdZtGgR3/ve9ygpKeGTT5K10desWcPjjz9Op06d6v5CLOs55WpmVjOlSYtPJOUApwOPVlG/iGTUxvS0LgCS2gDvRMQf0u2DgGeASZJujYglkr4N7BgR/65ljNOA0em30iwDzmD9b6CpjeuAa0mSPBcCTwO/kvSriAhJB0fEhk6XMTMzs63UypUrmTJlCnfeeWdZ2d13382AAQMoKSlh++2356677mL58uV07NiRn/zkJxx44IE0adKEMWPG0LhxY1asWMEJJ5zAmjVrWLt2LcceeyznnXdePV6VZSsnPMysoSu/hsdTEXFl+UoR8bmku4G5JMmMGdW0OxJ4RNLPgecyys8EzpG0BvgvcH1EfCrpGuAZSY2ANcAvgVolPCLiw/RbaF4FPgReBxrXpo1yLgXGShoBDAFGAXPSUR9FJGuYmJmZWQPSrFkzli5dul7ZkUceyaxZs9YrK1274eqrr+bqq69e79gOO+zwjfpmm4MTHmbWoGRMFSndr3FCICKuAa6pYd23SEZvlLomLR8GDKug/sPANxZLjYicGvSVl7H9F+AvNYwxP2O7d8Z264xqfTK2L6hJu2ZmZmZmWwKv4WFmZmZmZmZmWccjPMzMypE0Edi3XPEVEfF0BXXHAEeUKx6djrSot7jKnXc1yXoemcZHxI2bMj4zMzMzsy2JEx5mZuVERM9a1P3l5oylXF81jqvceTcCTm6YmZmZWYPihIeZmZmZmVkWKxp+Un2HYFYvvIaHmZmZmZmZmWUdJzzMzMzMzMzMLOs44WFmZmZmZmZmWccJDzMzMzMzMzPLOk54mJmZmZmZZbkFCxaQm5tb9tppp50YNWoU+fn57LnnnmXlTz755Hrnvffee+Tk5DBy5MhvtHnKKafQqVOnuroEs1rzt7SYmZmZmZllufbt21NYWAjA2rVr2XPPPenZsyd/+ctfGDhwIIMHD67wvIEDB3LiiSd+o/zvf/87OTk5mzVms43lER5mZpWQdIakNyU9X0WdPEmPp9u9Jd1WdxHWPUm/qe8YzMzMbOM8++yztG3bln322afKeo899hht2rShY8eO65UXFxdzyy23cM0112zOMM02mhMeZmaV+wVwUUT8oL4DySSpPkfnOeFhZma2lXvooYc466yzyvZvu+02DjroIPr27ctnn30GwIoVK7jpppsYMmTIN86/9tprGTRoEM2aNauzmM02hKe0mFmDI+kxYG9ge2B0RNxVQZ3rgCOBfSVNBq4Fbge6AiXAryOiqpEf+wBjgd2Aj4E+wAfAIqAtsDPwKZAXES9KmprW+RD4I9CZ5N/o/IiYJKk3cFIa8w7AMZX0eznwc2Ad8P8i4kpJucAdQDPgX0DfiPhMUgEwOCJmSmoOzIyI1mlfp6T12wITI+JyScOBppIKgfkRcXYF/Z8PnA/QvPluXNe5pLJbZFmuZVMY5Pe/QfMzYH4GthwFBQVl22vWrGHChAn06NGDgoICDjroIP785z8jibFjx/Kzn/2MK664gttvv53jjz+emTNnUlRURNOmTSkoKODtt99m2rRpnHrqqbz22musWLFivfZLFRcXV1huDceW8Aw44WFmDVHfiPhUUlNghqQJEbE0s0JEXC/pGL5OCAxKyztL6gA8IwegB7EAACAASURBVGn/Kvq4DfhrRNwnqS/wh4g4TdJC4EBgX2AW0F3SNGCviHhb0u+A5yKir6RdgOmS/pG22Q04KCI+rahDSScCpwGHRcRKSd9OD/0V+FVEvCDpemAIcGk19ygXOBhYDSyQ9Mc0eXJxRORWdlKaPLoLoFWbdvH7uf4101AN6lyC3/+Gzc+A+RnYchSdnVe2PWnSJA477DB69er1jXpt2rShR48e5OXlce211zJt2jTuu+8+Pv/8cxo1akTHjh1p3LgxRUVF9O7dm5KSEpYsWUJ+fv43PtgWFBSQl5f3jT6s4dgSngH/C2RmDdElknqm23sD+wFLq6gPyWiPPwJExFuS/g1UlfDoBpT+JXE/MCLdngocRZLwGAacB7wAzEiPHw+cIql05bDtgVbp9pTKkh2pY4G/RMTKNM5PJe0M7BIRL6R17gPGV3OtAM9GxBcAkt4A9gEW1+A8MzMz24KNGzduveksH374IbvvvjsAEydOLPvWlalTp5bVyc/PJycnh4svvhiACy+8EICioqKykSJmWyInPMysQZGUR5IY6JaOgiggSSpUe+pGdh3pz6lAf2AP4DrgMiAPeDGjnx9HxIJycR8GrKhBjFFNnUwlfL2WU/l7sDpjey3+fWFmZrbVW7lyJVOmTOHOO+8sK7v88sspLCxEEq1bt17vmNnWzn/AmllDszPwWZrs6AAcXsPzXgTOBp5Lp7K0AhaQjOSoyCvAT0lGd5wNvJSWTyOZYvJORKxK18O4AOiRHn8a+JWkX0VESDo4Iv5ZwxifAa6T9LfSKS3pKI/PJHWPiKkk63uUjvYoAr4LTAdOr2EfayRtExFraljfzMzMthDNmjVj6dL1B7Xef//91Z6Xn59fYXnr1q2ZN2/epgjNbLPwt7SYWUPzFNBE0hzgBuC1Gp73J6CxpLnAw0DviFhdRf1LgD5pPz8HBgCk5yzO6HcqsCMwN92/AdgGmCNpXrpfIxHxFDAZmJkmUkqnxfwvcHMaSy5wfVo+ErhQ0itA8xp2c1ca24M1jcvMzMzMrD54hIeZNShpwuHEGtbNy9heBfSuoE4BUJBu3wvcm24XUck3qURE94ztvwF/y9j/kmTER/lzytquJubhwPByZYVUMJIlIt4CDsoouqaiviKiR8b2FcAV1cVhZmZmZlbfPMLDzMzMzMzMzLKOR3iYWYOXfi3sduWKfx4RcyuqX98kdSZZGyTT6og4rD7iMTMzMzPbEjnhYWYN3taWKEgTMbn1HYeZmVWuaPhJ9R1CvSsoKKDo7Lz6DsPMGjBPaTEzMzMzMzOzrOOEh5mZmZmZmZllHSc8zMzMzMzMzCzrOOFhZmZmZmZmZlnHCQ8zMzMzs81o7dq1HHzwwfTo0QOA2bNn061bNzp37szJJ5/MsmXLAPjqq6/o06cPnTt3pkuXLhQUFACwfPlycnNzy17Nmzfn0ksvra/LMTPbajjhYWZmZma2GY0ePZoDDjigbL9fv34MHz6cuXPn0rNnT26++WYA7r77bgDmzp3LlClTGDRoEOvWrWPHHXeksLCw7LXPPvvQq1everkWM7OtiRMeZmaApDMkvSnp+Srq5El6PN3uLem2jezzFElXbkwbdU3SaZIOrO84zMy2Fu+//z5PPPEE/fr1KytbsGABRx11FADHHXccEyZMAOCNN97ghz/8IQAtWrRgl112YebMmeu1t2jRIpYsWUL37t3r6ArMzLZeTniYmSV+AVwUET+oqw4jYnJEDK+r/jaR0wAnPMzMaujSSy9lxIgRNGr09Z/dnTp1YvLkyQCMHz+exYsXA9ClSxcmTZpESUkJ7777LrNmzSo7VmrcuHGceeaZSKq7izAz20o1qe8AzMw2J0mPAXsD2wOjI+KuCupcBxwJ7CtpMnAtcDvQFSgBfh0RVY382AcYC+wGfAz0AT4AFgFtgZ2BT4G8iHhR0tS0zpFA14i4WNK9wLK0z+8Al0fEo5IaAbcBRwPvkiSqx0bEo5XEcigwGtgBWA38EFhT0fVI6l3af3ru48DIiCiQVJy20wP4Ejg1vZZTgKMlXQP8OCL+Va7/84HzAZo3343rOpdUdtssy7VsCoP8/jdoDf0ZKCgo4NVXX2XNmjUsX76cwsJCli5dSkFBAf3792fo0KFcdtllHHHEETRq1IiCggLatm3LlClT6NChAy1btqRDhw68+eabZWt5AIwdO5arrrpqvbItVXFx8VYRp20efv9tS3gGnPAws2zXNyI+ldQUmCFpQkQszawQEddLOgYYHBEzJQ1KyztL6gA8I2n/Kvq4DfhrRNwnqS/wh4g4TdJCktEQ+wKzgO6SpgF7RcTbko4s187uJEmQDsBk4FGgF9Aa6Ay0AN4kSa58g6RtgYeBMyNihqSdSJIVA2p5PZAkTF6LiKsljQDOi4ihaULo8coSLmlC6S6AVm3axe/n+tdMQzWocwl+/xu2hv4MFJ2dx9NPP82sWbPo3bs3q1atYtmyZdxzzz088MADnHvuuQAsXLiQ+fPnk5eXB1A2pQXg+9//Pr169eLAA5OBdbNnz2bbbbflggsuqPPr2RAFBQVl12UNj99/2xKeAU9pMbNsd4mk2cBrJCM99qvBOUcC9wNExFvAv4GqEgTdgL+l2/en5wNMBY5KX8PS8kOBGZW081hErIuIN4CWGbGMT8v/C1Q60gRoD3wYETPS2JdFRMkGXA/AV8Dj6fYskqSLmZnVwrBhw3j//fcpKirioYce4phjjuGBBx5gyZIlAKxbt46hQ4fSv39/AFauXMmKFSsAmDJlCk2aNClLdkAyneWss86q+wsxM9tKOeFhZllLUh5wLNAtIroA/ySZ2lLtqRvZdaQ/pwLdge8BTwK7AHnAi5Wct7qCGGoTizL6Ll9ekRLW/z2QeW/WRERpW2vxiEAzs01m3Lhx7L///nTo0IE99tiDPn36ALBkyRIOOeQQDjjgAG666Sbuv//+9c575JFHnPAwM6sF/wFrZtlsZ+CziFiZTuU4vIbnvQicDTyXTv1oBSwgGclRkVeAn5KMojgbeCktnwb8FXgnIlZJKgQuIFkXo6ZeAv5X0n0ka4Tk8fVokvLeAvaQdGg6pWVHkiktlV3PTsBF6Tohe5IkZqqzHNixFvGbmRmQl5dXNrR7wIABDBgw4Bt1WrduzYIFCypt45133tlc4ZmZZSWP8DCzbPYU0ETSHOAGkmktNfEnoLGkuSRrYvSOiNVV1L8E6JP283O+XjNjNbA4o9+pJMmCubW4hgnA+8A84E6SJMoXFVWMiK+AM4E/ptN4ppCM2qjsel4mWQh1LjASeL0G8TwEXCbpn5La1uI6zMzMzMzqlEd4mFnWSj/Un1jDunkZ26uA3hXUKQAK0u17gXvT7SLgmEra7Z6x/TcyRmeUa6N3ufNy0p/rJA2OiGJJuwLTqSJhkq7fUdFIloquJ0hGflTUTk7G9qMkC6gSES/jr6U1MzMzs62AEx5mZlu+xyXtAmwL3JAuXmpmZmZmZlVwwsPMGpT0a2G3K1f884iozTSTOpU5+qSUpIkkX3eb6YqIeLpOgjIzMzMz28I54WFmDUpEHFbfMWwKEdGzvmMwM7P1FQ0/qb5DMDOzDF601MzMzMzMzMyyjhMeZmZmZmZmZpZ1nPAwMzMzMzMzs6zjhIeZmZmZmZmZZR0nPMzMzMzMNqG1a9dy8MEH06NHDwBmz55Nt27d6Ny5MyeffDLLli1br/57771HTk4OI0eOLCv70Y9+RJcuXejYsSP9+/dn7dq1dXoNZmbZwAkPMzMzM7NNaPTo0RxwwAFl+/369WP48OHMnTuXnj17cvPNN69Xf+DAgZx44onrlT3yyCPMnj2befPm8fHHHzN+/Pg6id3MLJs44WF1StKukgrT138lfZCxHxnbhZKurO94a0JSnqTv10O/+ZIGV1C+h6RHN1EfeZIer+b4Zrt2Sa0l/ayaOrmS/mdzxVBBPPPqoq+6IKm3pNvS7f6Szk23CyR1rd/ozMy2Tu+//z5PPPEE/fr1KytbsGABRx11FADHHXccEyZMKDv22GOP0aZNGzp27LheOzvttBMAJSUlfPXVV0iqg+jNzLKLEx5WpyJiaUTkRkQucAdwa8b+itLt9DW8nsOtqTygzhMelYmI/0TE6XXUXR6b99pbA1UmPIBcoE4SHtksIu6IiL/WdxxmZlu7Sy+9lBEjRtCo0dd/Znfq1InJkycDMH78eBYvXgzAihUruOmmmxgyZEiFbZ1wwgm0aNGCHXfckdNPr6tf7WZm2aNJfQdgtiEkXQecDDQFXgEuiIiopG47kuTKbsBa4AzgHWAEcCIQwNCIeFhSHjA4Inqk594GzIyIeyUVAfel/W6TtrMK6A+slXQO8KuImFpBDC3TGNqkRRdGxCuSfg30TcvuiYhRkloDTwEvAYcDs4G/AL8FWgBnR8T09Jwukp4D9gZGRMTd6fmPR0QnSb2BU4BmQFtgYkRcnsZ0fNrmdsC/gD4RUSzpR8Ao4BPg9Sreg9blrn1AGmdbYGfgUyAvIl6UNBXoA3wI/BHoTPLvT35ETJLUGBhOkkDZDhgTEXemZQdIKgTui4hby8WwLXA90FTSkcAwYCjw/Yj4WFIjYGF6H0eSvF8dgZbAryPi8Sr6rlJ6/fcDO6RFF6fvaR6Qn96/TsAs4JyIiHQkyi0Z97ZNRPSQlA8UR8TItO15QI+IKJL0GMn7uz0wOiLuSuv8ArgC+A+wCFgdERdL2o3kWWuVxnVpRLxcg+tZL4a0rBHJe7oYGFKT+yTpfOB8gObNd+O6ziXVdW1ZqmVTGOT3v0FriM/AsGHDWLNmDcuXL6ewsJClS5dSUFBA//79GTp0KJdddhlHHHEEjRo1oqCggNtvv53jjz+emTNnUlRURNOmTSkoKChr76qrruKrr75i6NCh3HrrrXTtunUNvisuLl7veqxh8ftvW8Iz4ISHbUmaph9sSw2LiIcrqXtbRFwPIOl+oAfwf5XUfRAYHhETJW1PMrKpF8nIgC5Ac2CGpBdrEOMnEXGIpItIEiP9JN1BuQ+KFfgD8EJE9Ew/YOdI+i5JEuAwQMA0SS8AnwHtSBIq5wMzSEY5HEmSvPgNcFra7kEkH+Z3AP4p6YkK+s4FDgZWAwsk/RH4ErgGODYiVki6Avi1pBHA3cAxwNtAZfef9MP4etcuaSFwILAvyQf97pKmAXtFxNuSfgc8FxF9Je0CTJf0D+Bs4IuIOFTSdsDLkp4BriQjAVVBDF+lya+uEXFxGkOHtL1RwLHA7Ij4JB0K3Bo4miQp83yaDDu3or4j4t3Krj21BDguIlZJ2g8YB5T+JXowSWLlP8DLwBGSZgJ3AkdFxLuSxlXTfqm+EfGppKYkz+kEkoTDtcAhwHLgOZLEGMBokpFTL0lqBTwNHFBBu9VpQvLfzryIuDFNZFR7n9KEzF0Ardq0i9/P9a+ZhmpQ5xL8/jdsDfEZOEvLmDVrFr1792bVqlUsW7aMe+65hwceeIBzzz0XgIULFzJ//nzy8vK49tprmTZtGvfddx+ff/45jRo1omPHjlx88cXrtfvhhx8yY8YMBg/+xkzWLVpBQQF5eXn1HYbVE7//tiU8Aw3rt5Bt6b5Mp7bUxA8kXU4ycuHbwHwqSHhI2hHYMyImAkTEqrT8SGBcRKwFPkoTDYcCy8q3Uc7f05+zSJImNXUMyQdr0j6/SGOYGBEr0pj+DnQHJgPvRsTctHw+8Gw6QmAuyYf2UpMi4kvgS0nPA98DMpNGpOd+kbb1BrAPsAtJYuLlNBGwLfAq0CHte1Fa/wHS/1tfQ1OBo0gSHsOA84AXSJI2AMcDp2SsPbI9yUiE44GDJJWO190Z2A/4qhZ9lxoLTCJJePQlGaFQ6pGIWAcskvQOyfVW1nd1CY9tgNsk5ZKMHNo/49j0iHgfIE3itQaKgXcyEgTjqNm9vURSz3R77zS275Ak0D5N+xif0f+xwIEZc713krRjRCyvQV+Z7iS5Xzem+xt6n8zMGoxhw4YxbNgwIPlDf+TIkTzwwAMsWbKEFi1asG7dOoYOHUr//v0BmDr160Gh+fn55OTkcPHFF1NcXMzy5cvZfffdKSkp4cknn6R79+71ck1mZlszJzxsq5OO0vgTyf/VX5wOxd++suq1LC9h/bVtyre7Ov25lo3/76eq1cdWZ2yvy9hfV67f8tN4KprWk9lWadwCpkTEWesFlHx4r3BqUA1NJZnmsgdwHXAZyRSI0tEzAn4cEQvK9SuS6UBPlyvPq20A6TPxkaRjSEbPnJ15uHz1NKZv9F0DA4GPSEYJNSKZLlOqsntemQqfu/T6jwW6RcRKSQXpsaraapTW/7JGV1G5V0gSi79PE4Ubep/MzBq8cePGMWbMGAB69epFnz59qqy/YsUKTjnlFFavXs3atWs55phjypIkZmZWc1601LZGpUmITyTlAJWu4hURy4D3JZ0GIGk7Sc1IPoCfKalxuubBUcB04N8k/3d8O0k7Az+sQTzLgR2rqfMscGEaQ2NJO6UxnCapmaQdgJ4kCYPaOFXS9pJ2JUkszKimfqnXSKZZtEtjaiZpf+AtYF9JbdN6Z1XWQKr8tU8jWcR0XfohuRC4gK+v62ngV2mCA0kHZ5RfKGmbtHz/9J7U5N5WVOce4AGSEQprM8rPkNQovb42wIIq+q7OzsCH6YiRnwONq6n/FtAmXfsD4MyMY0Uk01OQdAjJCJnSPj5Lkx0dSKYvQfKsHi3pW5KaAD/OaOsZoGwsdJrE2hB/Bp4Exqd9bOh9MjNrkPLy8nj88eSLzgYMGMDChQtZuHAhw4cPr/AbV/Lz88umrLRs2ZIZM2YwZ84c5s+fzx//+EeaNPH/pzQzqy0nPGxL0lTrfy1thd/SEhGfk6wzMRd4jOo/5P+cZFrAHJL/a/0dYCIwh2Tdg+eAyyPivxGxGHgkPfYg8M8axP1/QM805srGmw4g+b/lc0mmw3SMiNeBe0k+vE4jWbS0Jv1lmg48QZLAuCEi/lOTkyLiY6A3MC69L68BHdIkxfnAE5JeIkkAVWW9a4+I1SQLXL6WHp9KkoyYm+7fQDIVZI6ShTlvSMvvAd4AXk/L7yQZFTEHKJE0W9LASmJ4niRJVSipNIkwGchh/ekskCQ4XgD+H9A/vd7K+q7On4D/lfQayXSSFVVVTkdcXAQ8ld7bj4Av0sMTgG+n018uJFloFZLFa5uk79ENpPc1Ij4Afkfy3Pwjjb+0rUuArpLmpFOYNvh/CUbELSSLq97Pht8nMzMzM7N6oUq+2MLMbKslqSvJwp3dM8ruJfn2mkfrMa6c9JtwBIwBFpX/5pkNaKsJSQJvbOlaNVuKVm3aRaOfjK7vMKyeNMQFK219DfEZKBp+Un2HsEXZEhYstPrj99/q6hmQNCsiKvwaK4/wMLOsIulKkhETV9V3LBU4Lx3FMZ9kukq1X39bhfy0rXkkC4c+tgniMzMzMzPLGg0r7W5bHUkT+Xo9g1JXVLRwoqQxwBHlikdHRPlpDZuNpKtJvk420/iMb7rYKknqQzItJ9PLEfHLOozhBOCmcsXvRkTPzIKIGA58YzpURPSuRV+dSaZxZFodEYfVtI2KpKM5NmhERwVt1fi7CbeE98/MzMzMrK454WFbtPIfZqupW+8f3tLExlad3KhImjSqs8RRJTE8TbJwZl30NRfY0MU+tzhbwvtnZrY18hQVM7Otm6e0mJmZmZmZmVnWccLDzMzMzMzMzLKOEx5mZmZmZmZmlnWc8DAzMzMzMzOzrOOEh5mZmZlZNdauXcvBBx9Mjx49ADjzzDPJzc0lNzeX1q1bk5v79VrXc+bMoVu3bnTs2JHOnTuzatUqAL766ivOP/989t9/fzp06MCECRPq5VrMzBoKf0uLmZmZmVk1Ro8ezQEHHMCyZcsAePjhh8uODRo0iJ133hmAkpISzjnnHO6//366dOnC0qVL2WabbQC48cYbadGiBQsXLmTdunV8+umndX8hZmYNiEd42FZB0q6SCtPXfyV9kLEfGduFkq6sYZt5kh7fzHFfL+nYzdnHhpJUJKl5uv3KBpy/i6SLNn1k6/VxqaRm1dT5zeaMoVxfBZK61lV/m5uk4vTnHpIeTbd7S7qtfiMzM9uyvP/++zzxxBP069fvG8cigkceeYSzzjoLgGeeeYaDDjqILl26ALDrrrvSuHFjAMaOHctVV10FQKNGjWjevHkdXYGZWcPkhIdtFSJiaUTkRkQucAdwa8b+itLt9DW8nsMtExHXRcQ/6juO6kTE9zfgtF2AzZrwAC4Fqkx4AHWW8MhWEfGfiDi9vuMwM9tSXXrppYwYMYJGjb75p/PUqVNp2bIl++23HwALFy5EEieccAKHHHIII0aMAODzzz8H4Nprr+WQQw7hjDPO4KOPPqq7izAza4A8pcUaFEk/AkYBnwCvZ5R/GxgLtAFWAudHxBxJ+cC+wO7A/sCvgcOBE4EPgJMjYo2k64CTgabAK8AFERGS7gUej4hHJRUB96X1tgHOiIi3JB0NjE5DCeCoiFheQex5wG+Bj4Bc4O/AXGBA2u9pEfEvSbuRJIVapadeGhEvS9oVGAfsBkwHlNF2cUTkSMoBJgHfSmO8JiImVXI7hwNtJRUCU4AdgKciYrKkicBnEdFX0i+AfSPiGknnAJcA2wLTgIsiYq2k49Nr2w74F9AH6AvsATyv/8/evYdHVZ19H//+OCggKlWQ12oRUZGjgqDWgjTgWaiHYqWW+jyoaPFQpYLVVrQUa1FKtVSLiDyKVgVBwSK0gqIRUEBAIwfPlVhDPYEiBOUQvN8/1powGSbJJIQkJPfnunJlZs3ea9177T2Qfc9aa6S1ZtYzTZ/cATSMMawCPgDWmtmY+Prtsb+WAyOAdcDRwLzY9rfp2jaz/GKOObnt+4DjY98/aWa/i+W5pD/PzYDHgQOBJcCZQBegMeEa6RD3Hwo0NrPhki4Hroj99T5wsZl9LekI4DGgLvAv4Hozaxz3vwG4MB7P9ERcpRxLy+QYksp7A8PisRyXST9JuiLGTNOmzbi1Y0FpzbsaqnlDGOLnv1arCddAdnY2CxcuZNu2bWzcuJGcnBzWrVtHdnZ24TZ33303J5xwQmHZO++8w/PPP8+4cePYe++9GTJkCHXr1uXII48kLy+P/fffn7vuuospU6Zw8cUX89vf1ty8fX5+fpG+crWLn39XHa4BT3i4miBxw5sw0syeSN1IUgPgAaAX4eYxeZvfA6+b2XmSegGPEJIKAEcAPYF2wEKgr5n9Ot7U9waeBu41sxGxnb8DfYBn0sS61syOi1NBhgID4++rY1KiMbC5hGM9FmgLfEG4uZ9gZidIug74JWFExBjCCJgFkloAs+M+vwMWmNmIeCN7RZr6NwPnm9mGON1lkaQZZmZptr0J6BBH2SDpp8DJwAzgEEKSCKA7MFlSW6Af0C0micYC/SX9k3BTfaqZbZJ0I+EGfoSk64GeZrY2XWeY2U2SrkmKoSUhETRGUh3gp8AJQMf4ux3wIfAs8GNJ2enaJiRHSnOzmX0hqS4wV9IxZrY8vpbuPP8OeMHMRsbEW7r+TzXNzB6Ix/YH4DLgHsI5HmNmkyQNSmwckzdHxWMVMENSDzObl0FbRUg6n9AXZxMSKxn1k5mNB8YDtGh1pP15hf83U1sN6ViAn//arSZcA7n9s5g9ezbLli1jwIABbN68mQ0bNjBhwgQeffRRCgoK6NevH8uWLePQQw8F4JNPPuGbb77h3HPPBWDJkiV8++23nHPOOTRq1IhbbrmFOnXqcMQRR3DmmWeSlZVVhUe4e2VnZ9fo43Ml8/PvqsM14FNaXE3wTcqUlp2SHVEbYLWZvRdv4B9Neq078HcAM3sBOFDS/vG1f5nZNsJoirqEm2Xi85bxcU9JiyWtICRU2hcTw7T4e1nSvi8Dd0m6FmhiZiV9HLbEzD42sy2ET9nnpInlVODemASaAewnaV+gR+KYzWwW8GWa+gX8UdJy4HlC4qJ5CfEkmw+cLKkd8CbwqaSDgZMIo15OIYxoWBJjO4Uwoub7hETEy7H8f4HDMmyzCDPLBdZJ6gycTkhirYsvv2pmH5jZdsJIl+672PaFkl4DXiec73ZJr6U7z92ByTHOZ0nf/6k6SJofr6v+7LiuTgKmxsePJ21/evx5nTCCqQ0hAVJWPYEbgd5m9iUVeI6cc25PM3LkSPLy8sjNzWXy5Mn06tWLRx8Nf0I8//zztGnTpjDZAXDGGWewfPlyvv76awoKCnjppZdo164dkvjRj35U+Gnn3LlzadeuXbomnXPOVZA9O+3uXNmlG6kASdM70my7BSBOf9iWNNrhW6BeHDkyFuhqZh/FaTANimlnS/y9nfj+M7M7JM0ifJK+SNKpZvZ2Kfsn2t+S9Djxfq4DnGRm3xQ5QCn5mIrTnzDlpUschZFbwrEUYWZrJH2HMFVjHnAAYWpFvpltVAjgYTP7TUpcPwKeM7OLMmknAxOAAcD/I0xTKgwxNWTCeS9z25IOJ4zcON7MvoxTl5L7aafzTPprDKCAosnn5HomEqYqvSFpAJBVWmiEEU73l7JdaT4gJKNaA0spZz8551xNN3ny5MLFShO+853vcP3113P88ccjibPPPpvevXsDcOedd3LxxRczePBgmjVrxkMPPVQVYTvnXK3hIzxcbfI2cHhc/wAg+S+UeYSb/cRaGWvNbEOG9SZuUNfGKSllWvxR0hFmtsLM7iTcXLYpy/5pzAGuSao/MTUn+RjPIqzTkWp/4LOY7OhJyZ/ibwT2TSlbSJhWM48w4mNo/A0wF7hA0kExhgMkHQYsArpJOjKWN5LUuoQ2Um2TVD/p+XRC0uV4wnSehBMkHR6nuvQDFpTSdkn2AzYBX0lqTljTpTQLCAmgxNSTRP9/Chyk8E1EexOmQyXsC3wcj69/UvkioG98/NOk8tnApfE6RNIhif4uow+BHwOPSGpPP0RALAAAIABJREFU+fvJOedqlKysLGbO3PEFbxMnTmTQoEE7bffzn/+cVatWsXLlysJFSwEOO+ww5s2bx/Lly5k7dy4tWrTYaV/nnHMVxxMeriZoqKJfS5v2W1rMbDNh3YRZkhYQbuoShgNd41SOOwhD9jNiZusJa4OsIKznsaSM8Q+WtFLSG8A3hEUod8W1xGOR9CaQ+Evs90CPOA3jdOA/afZ9LO67lHCDXdxIE+JUkZdj7H+KxfOBemb2PmFKxQGxDDN7k7AOxJzYz88BB5vZ54QRGZNi+SJ2JH3GA/+S9GIJxzseWC7psdjOVuBFYEqcvpKwkHBuVwKrCQt6ltR2sczsDcK0kVWEUSQvl7YPof9Pj/1/FvAxsDFOlxpBWMR1JkX7/JZY/lxK+WDgekmvEtZK+SrGNYcwxWVhnAbzJKUnjIo7xncI18BUQoJnAGXsJ+ecc84556qS0q9F6Jxze6Y4guM1wrejvBfLsoChZtanpH13c1x7A9vNrEDSScB9icVWy1FXI8LaNRYXi73IzM6tyHgrQotWR1qdC8eUvqGrkWrCgpVu19SEayD3jt5VHcIerTosWOiqjp9/V1nXgKRlZtY13Wt79v9CzjmXJC6YOpMweuO9qo4nRQtgSkzIbAUu34W6uhAWphWwnvAVvs4555xzzrkknvBwNZLCV8YenlJ8o5nNTrd9dSKpI/EbY5JsMbMTqyieAwnrb6Q6JekbUCojjsXA3inFF5vZisSTOG2mVeq+ZpYNZJehrQq/fmICpnN590+paz7hK4pLVV3On3POOeecc5XNEx6uRjKz86s6hvKKN/DlmuqwO8Sb4iqPpzITPnvy9ZOqupw/55zbU/g0Fuecqzl80VLnnHPOOeecc87VOJ7wcM4555xzzjnnXI3jCQ/nnHPOOeecc87VOJ7wcM4555xzzjnnXI3jCQ/nnHPOOedSbN++nc6dO9OnTx8A+vXrR6dOnejUqRMtW7akU6ewHvS6devo2bMnjRs35pprrklb1znnnEOHDh0qLXbnnHOBf0uLc84555xzKcaMGUPbtm3ZsGEDAE888UTha0OGDGH//fcHoEGDBtx2222sXLmSlStX7lTPtGnTaNy4ceUE7Zxzrggf4VGDSDpQUk78+UTSmqTnlvQ4R9JNVR1vWUk6WdKqGH/DMuz3T0lNdmdsFUlSE0lXVXKb+eXYZ7fHKWmwpEalbPPb3RlDSlvZkrpWVnu7W+K8S/qupCfj4wGS7q3ayJxzrmrl5eUxa9YsBg4cuNNrZsaUKVO46KKLANhnn33o3r07DRo02Gnb/Px87rrrLoYNG7bbY3bOObczT3jUIGa2zsw6mVknYBxwd9LzTYnH8eeOKg63WJLqFvNSf2B0jP+bDOqRpDpmdraZra/YKHerJkClJjzKqTLiHAyUmPAAKi3hUVOZ2X/N7IKqjsM556qLwYMHM2rUKOrU2flP5fnz59O8eXOOOuqoUuu55ZZbGDJkCI0alfZfmXPOud3Bp7S4nUi6FfgR0BB4BfiFmVkx22YDQ81sqaSmwFIzaympPfAQsBchsdbXzN6T9HPg2li+GLjKzLbHT5rvAs4AhgALUtoZCFwInCHpVDPrL+mGWLY3MN3MfiepJfAv4EXgJOA8SS8BXYHG8bUFwA+ANcC5ZvaNpOOB/wM2xdfPMrO0k21jQubOGKsBD5jZPZJOAUYT3ldLgCvNbIukXKCrma2NowNGm1mWpOFAC6BV/P0XM/srcAdwhKQc4DkzuyFNDFnA74FPgU7ANGAFcF08b+eZ2b8lHQY8CDQDPgcuMbP/SDoceDzG+mxK3Tv1a7p+SI0T2Ad41sxmSJoOfGlml0q6DDjczIaVcP5Pj8ezN/Bv4BLgUuC7wIuS1ppZzzT9cAfQMMawCvgAWGtmY+Lrt8c+Wg6MANYBRwPzYtvfpmvbzEod8SLpPuD42N9PJvopnu+HCe+h+sBPzOxtSc1inx9IuD7OBLoQrsuZietN0lCgsZkNl3Q5cEXsr/eBi83sa0lHAI8BdQnX9PVm1jjun+n5Sz6WlskxJJX3BobFYzkuk36SdEWMmaZNm3Frx4LSmnc1VPOGMMTPf622p14DI0eOZNu2bWzcuJGcnBzWrVtHdnZ24et33303J5xwQpEygLfffps1a9YUlr///vssXryYc889l0WLFrFp06ad9qnp8vPza90xux38/LvqcA14wqP2SNwUJow0syeK2fZeMxsBIOnvQB/gmTK2NwgYY2aPSdoLqCupLdAP6GZm2ySNJYzaeIRws7zSzG5NV5mZTZDUnXBT9mS8ST0KOAEQMENSD+A/hBvaS8zsqngMyVUdBVxkZpdLmgL0BR4lJGeuMLNX4k10Sa4ADgc6m1mBpAMkNQAmAqeY2buSHgGuBP5SSl1tgJ7AvsA78Sb6JqBDHJlTkmOBtsAXhBv9CWZ2gqTrgF8SRkfcCzxiZg9LuhT4K3AeMAa4z8wekXR1osLi+tXM5qVpv0ickn4KnAzMAA4BDo7bdQcmF3f+Jf2TcFN9qpltknQj4QZ+hKTrgZ5mtjZdB5jZTZKuSYqhJSH5M0ZSHeCn8Vg6xt/tgA8JSZ4fx4TdTm0TkiOludnMvogJsLmSjjGz5fG1tWZ2XJzyMxQYCPwOeMHMRko6k5gUKMU0M3sgHtsfgMuAewjnb4yZTZI0KLFxGc9fiSSdT+iLswmJlYz6yczGA+MBWrQ60v68wv+bqa2GdCzAz3/ttqdeAxdpA8uWLWPAgAFs3ryZDRs2MGHCBB599FEKCgro168fy5Yt49BDDy2yX25uLvn5+WRlZQHw1ltvkZuby4ABAygoKOCzzz5j+PDhVf7Hf2XKzs4u7A9X+/j5d9XhGvApLbXHNylTWopLdgD0lLRY0gqgF9C+HO0tBH4bb4wOi1NQTiF8or0kJl9OIYxuANgOPFWG+k+PP68DrxESB4mxpR+a2aJi9lttZonEzzKgZVzfY18zeyWWP15K26cC48ysAMDMviAkWVab2btxm4eBHhkcxywz2xJv6D8DmmewT8ISM/vYzLYQPnGfE8tXAC3j45PYcTx/JyQfALoBk5LKE0rq19LMB06W1A54E/hU0sExhlco/vx/n5CIeDmW/y9wWIZtFmFmucA6SZ0Tx2Fm6+LLr5rZB2a2nXDs3Xex7QslvUboq/axnoRp8fcydpyL7sDkGOezwJcZtNFB0vz4XuzPjvfiScDU+Dj5et2V85esJ3Aj0NvMvqQCz5FzzlV3I0eOJC8vj9zcXCZPnkyvXr149NFHAXj++edp06bNTsmOdK688kr++9//kpuby4IFC2jdunWtSnY451x1sOel3d1uFUcqjCVMwfgoTrvYeRWuHQrYkTgr3M7MHpe0GOgNzI5TUgQ8bGa/SVPP5ngjmnGohFEq96fE35IwLaU4W5IebydMR1Ax25bUduoUn5LqSNtHxcRTlvdk8r7fJj3/toR6rJjHCWn7NRNmtkbSdwhTNeYBBxCmVuSb2UaFoTY7nX9JPyJM3bmorG0WYwIwAPh/hOk8hSGmhkw43jK3HacEDQWON7MvJU2k6LlNnIvkc1rcNZJ8fZBSz0TC9KQ3JA0AskoLjXKevxQfEJJRrYGllLOfnHOuppk8eXLhYqXJWrZsyYYNG9i6dStPP/00c+bMoV27dmlqcM45V5l8hIdLlbjZWiupMVDaQoa5hE/tSd5WUivgg7gmxQzgGGAucIGkg+I2B8Q1JspjNnBpjBFJhyTqLav4CfZGSd+PRT8tZZc5wCBJ9WLbBwBvE0aLHBm3uRh4KT7OZUcf9c0gpI2EKS4V4RV2HE9/dqyN8nJKeUJZ+jVdnAsJU2nmEUZ8DI2/ofjzvwjolug7SY0ktS6hjVTbJNVPej6dkHQ5Ph5PwgmSDo9TXfoR+qKktkuyHyGx9pWk5sBZGeyzgJAASkw9+U4s/xQ4SOFblvYmTCFL2Bf4OB5f8nlaxI5rKfl6raj3xYfAj4FHFNbjKW8/OefcHi0rK4uZM2cWPp84cSKDBg3aabvc3Fy++OIL8vPzycvL2ynZ0bJly7RfWeucc2738oRH7dFQRb+WNu06FfHbTB4gTIt4mrC4YklGA1dKegVomlTeD1gZh7+3Iawj8SZhHYA5kpYTFro8OLXCTJjZHMJQ/oVxuP+T7FqS4DJgvKSFhE+zvyph2wmEtUKWS3oD+JmZbSYstDk1xvMt4ZtyICz0OEbSfMIn/iWKUzBelrRS0p/KfUTBtcAlsb8vJixqSvx9taQlwP5JbWfcr8XEOR+oZ2bvE6ZUHBDLKO78m9nnhBEZk2L5IsI1A2EtiH9JerGEYxxPOBePxXa2EhatnZIyamghYaHVlcBqwoKeJbVdLDN7gzBtZBVhFMnLpe1DuA5Oj9NgzgI+Bjaa2TbCWhiLgZmE5FnCLbH8uZTywcD1kl4lvIe+inFV2PvCzN4hJFmmEhI8AyhjPznnnHPOOVeVVMyXbzhXq0hqnPjGCUk3EW7ErytlN1cNxREcrxG+HeW9WJZF+DahPiXtu5vj2hvYHhe6PYmwaGxpC9MWV1cjwro8FheLvcjMzq3IeCtCi1ZHWp0Lx1R1GK6K7KkLVrqKs6deA7l39K7qEGqM6rBgoas6fv5dZV0DkpaZWdd0r+15/ws5t3v0lvQbwnviQ8Kn2W4PExdMnUkYvfFeVceTogUwJSZktgKX70JdXYB747oo6wlf4eucc84555xL4gmPWkzSdMLXqya70cxmp9n2b4Rv9kg2xsweqsq4Kkr81poi31wj6QzgzpRNV5vZ+bsrjlSSOlL0W1QAtpjZiZUYw4GE9TdSnZL0DSiVEcdiYO+U4ovNbEXiSZw20yplG8wsG8guQ1sVfg3GBEzn8u6fUtd8wtcSl6q6nD/nnHPOOecqmyc8arGy3Lib2dW7M5aUtiotoVCSeHO725IsGcawAijXtIcKjGFdVccQ46i0JE91uQYrQnU5f84555xzzlU2T3g455xzzrk9lq+54Zxzrjj+LS3OOeecc84555yrcTzh4ZxzzjnnnHPOuRrHEx7OOeecc84555yrcTzh4ZxzzjnnaoTt27fTuXNn+vTpU6R89OjRSGLt2rUArFu3jp49e9K4cWOuueaawu2+/vprevfuTZs2bWjfvj033XRTpcbvnHOuYnnCwznnnHPO1Qhjxoyhbdu2Rco++ugjnnvuOVq0aFFY1qBBA2677TZGjx69Ux1Dhw7l7bff5vXXX+fll1/mX//6126P2znn3O7hCY9aSNKBknLizyeS1iQ9t6THOZL2uI82JJ0saVWM/xBJT1Z1TGUhqZOks8u4T66kpplsI6mJpKvKGVuRfSV9d0/pX0lZkmbGx+eU59qWNEDSvRUfXdWQNFHSBfHxBEnt4uP8qo3MOefKLi8vj1mzZjFw4MAi5b/61a8YNWoUkgrL9tlnH7p3706DBg2KbNuoUSN69uwJwF577cVxxx1HXl7e7g/eOefcbuEJj1rIzNaZWScz6wSMA+5Oer4p8Tj+3FHF4RZLUt1iXuoPjI7xrzGzCyozrgrQCShTwqOMmgDlSnik7mtm/90D+xczm1Gdr+2qYGYDzezNqo7DOefKa/DgwYwaNYo6dXb8eTtjxgwOOeQQjj322DLXt379ep555hlOOeWUigzTOedcJfKEhys3SbdKWiJppaTxSv7oZOdtsyV1jY+bSsqNj9tLejWOxlgu6ahY/vOk8vsTyQ1J+ZJGSFoMnJSmnYHAhcCtkh6T1FLSyvjaAEnTJD0r6T1Jo5L2u0zSuzHOB0r6FF9Sc0nTJb0Rf34Qy6+PfbFS0uBYVth+fD5U0vCkPrkzHue7cWTKXsAIoF889n7FxHCgpDmSXpd0P6Ck19L2XZI7gCPi63+S1FjSXEmvSVoh6dzijj3Nvqn9+7SkZyStlnRN7JPXJS2SdEDc7oh4DpZJmi+pTQl9PVHSfZJelPSBpB9KelDSW5ImJm13uqSF8RimSmocy8+U9LakBcCPk7YvHKkh6UeSFsc4n5fUvITjT44t7X6ShscYs2PM1ybtc0uM5zlJkyQNjeXFvT9axj56Lf4krrU6ksYqjGSaKemf2jFSo4ukl2L/zpZ0cIbHUxhDUlnT2K+9JTWT9JTCe36JpG6Z1Oucc5Vh5syZHHTQQXTp0qWw7Ouvv+b2229nxIgRZa6voKCAiy66iGuvvZZWrVpVZKjOOecqUb2qDsBVOw0l5SQ9H2lmTxSz7b1mNgJA0t+BPsAzZWxvEDDGzB6LN/t1JbUF+gHdzGybpLGEURuPAPsAK83s1nSVmdkESd2BmWb2pKSWKZt0AjoDW4B3JN0DbAduAY4DNgIvAG+UEPNfgZfM7PyYTGgsqQtwCXAiIfmwWNJLwJelHH89MztBYQrL78zsVEm3Al3N7JoS9vsdsMDMRkjqDVwBUErfJdwEdIgjepBUDzjfzDYoTItZJGmGmVmadlP3bZnyegdC/zYA3gduNLPOku4G/gf4CzAeGGRm70k6ERgL9CrhWL8TXz+HcH11AwYCSyR1AvKAYcCpZrZJ0o3A9QoJrQfivu8DxV3HC4Dvm5kpJMx+DQwpIZ5M9msD9AT2JVxn9wHHAn1j/9QDXgOWldLGZ8BpZrZZIRk4CehKSN60BDoCBwFvAQ9Kqg/cA5xrZp8rJMxuBy7N4HiKiAmcGcAwM3tO0uOE0WALJLUAZgNt0+x3BfF6bNq0Gbd2LChr066GaN4Qhvj5r9Uq6xrIzs5m0qRJzJkzh2nTprF161a+/vprzjzzTN59912OPvpoAD7//HPat2/PfffdxwEHHADA22+/zZo1a8jOzi5S55133knDhg3p1KnTTq+5zOXn53v/1WJ+/l11uAY84eFSfZO4mc1AT0m/BhoBBwCrKHvCYyFws6RDgWnxJvgUoAvhhhagIeHGD0Jy4qkytpFsrpl9BSDpTeAwoCkhgfFFLJ8KtC6hjl6Em3fMbDvwVUyyTDezTbGOacDJhBvGkkyLv5cRbmAz1YM4YsHMZklKJFZK6rviCPijpB7At8AhQHPgkzLEk/CimW0ENkr6ih3XwwrgmDjy4gfAVO0YELR3KXU+E5MKK4BPzWwFgKRVhD47FGgHvBzr3ItwXbUBVpvZe3H7R4k34ikOBZ6IIyH2AlZneKwl7TfLzLYAWyR9RujP7sA/zOybGE8m75X6wL0xsbOdHddld2CqmX0LfCLpxVh+NCHp9Fzsi7rAxxkeT2q7c4GrzeylWHYq0C7pvO0nad94vguZ2XhCUosWrY60P6/w/2ZqqyEdC/DzX7tV1jWQ2z+LrKyswufZ2dmMHj2amTNnFtmuZcuWLF26lKZNdyx5lZubS35+fpH9hw0bRqNGjZg6dWqR6TGu7LKzs4v0ratd/Py76nAN+F8irlwkNSB8Mt/VzD5SmKbRoIRdCtgxhapwOzN7XGF6Sm9gdvykXMDDZvabNPVsjkmG8tqS9Hg74T1Q7FScMiiujuTjhp37KBFPIpaySDcCo6S+K05/oBnQJY4KyU0TZ6aS+/fbpOffEo6vDrC+DEm15DqT60uuczvwnJldlLxTTBKk66NU9wB3mdkMSVnA8AzjKmm/sl5nad8fwK+ATwmjQ+oAm2N5cXUJWGVmO033KqMCQhLuDCCR8KgDnJRI2Djn3J6uZcuWbNiwga1bt/L0008zZ84c9ttvP26//XbatGnDcccdB8A111yz00Kozjnn9gyetnbllbgpWxs/tS9t4cpcwsgDkreV1Ar4wMz+ShgNcQzhk+ULJB0UtzlA0mEVGHuqV4EfSvpOnN7Rt5Tt5wJXxtjqStoPmAecJ6mRpH2A84H5hJvVgxTW3NibMO2nNBsJUyFKMo+QqEDSWYRpH4nYSuu71Pr3Bz6LyY6ehFEvuxJbscxsA7Ba0k9ifJJU9pXkiloEdJN0ZKyzkaTWwNvA4ZKOiNtdVMz++wNr4uP/LUO7Zd1vAfAjSQ3ie6Z30mu5pHl/xDY+jiM5LiaM2EjU1Teu5dEcyIrl7wDNJJ0EIKm+pPZlOKYEI0yDaaMd32YzByicZhUTSs45V+1kZWXtNLoDwmiO1NEdX3zxBfn5+eTl5dGuXTsOPfRQzIy33nqLnJwccnJyPNnhnHN7ME94uFQNVfRradN+k4WZrSesj7ACeBpYUkq9o4ErJb1CmEKS0A9YGdcNaQM8Er8pYhgwR9Jy4Dkgo4UXy8PM1gB/BBYDzwNvAl+VsMt1hOk8Kwifgrc3s9eAiYTkyWJggpm9bmbbCIuQLgZmEm7CS/MiYepAsYuWAr8Hekh6DTgd+E88llL7zszWEaZ/rJT0J+AxoKukpYQkSrExptm3PPoDl0l6gzANqqRFUktlZp8DA4BJ8ZgXAW3MbDNhCssshUVLPyymiuGEKTbzgbVlaLpM+5nZEkJS7w3CVKal7LjOint/jAX+V9IiwnSWTbH8KcLaJSuB+wnX11dmtpWQMLkz9m8OYQpRmcWRVD8lXOtXAdcSrpPlcTrYoPLU65xzzjnnXGVR+nUJnatdJDU2s/w4wmM68KCZTa/quFzNknSdNSKM0rkiJst2pa4DCYm2bmZWnnVXdpsWrY60OheOqeowXBXxNTxcpa3hcUfv0jdyVaI6zN93VcfPv6usa0DSMjPrmu41/0vEuWC4pFMJU3XmEEatOFfRxktqR7jOHi5vsiOaKakJYcHU26pbssM555xzzrmq5gkPVypJ04HDU4pvNLPZabb9G+FrQ5ONMbOHqjKu0pjZ0DT13wz8JKV4qpndXtb6y0vSJYQpNMleNrOrd3O7BxLWA0l1SpzWUtHtVXlfp8SzW/rdzH62K/un1JWV6baV+b50zjnnnHOuuvCEhyuVmZ1fhm136414SlsZx1XO+m8HquSGOymGh4BKvymNSY1KW5SyOvR1sqrq992lMt+XzjnnnHPOVRee8HDOOeecc9WKr8vhnHOuIvi3tDjnnHPOOeecc67G8YSHc84555xzzjnnahxPeDjnnHPOOeecc67G8YSHc84555yrlrZv307nzp3p06cPADfccANt2rThmGOO4fzzz2f9+vUAvPrqq3Tq1IlOnTpx7LHHMn369MI6zjzzTI499ljat2/PoEGD2L59e5Uci3POucrnCQ/nnHPOOVctjRkzhrZt2xY+P+2001i5ciXLly+ndevWjBw5EoAOHTqwdOlScnJyePbZZ/nFL35BQUEBAFOmTOGNN95g5cqVfP7550ydOrVKjsU551zl84SHqzSSDpSUE38+kbQm6bklPc6RdFNVx1tWkk6WtCrG37Cq4ymJpAGSvluJ7U2UdEFltVdMDAMk3RsfD5L0P+WoY7ikoRUfXdWQlC2pa3z8T0lNJLWUtLKqY3POuby8PGbNmsXAgQMLy04//XTq1QtfMvj973+fvLw8ABo1alRYvnnzZiQV7rPffvsBUFBQwNatW4u85pxzrmbzhIerNGa2zsw6mVknYBxwd9LzTYnH8eeOKg63WJLqFvNSf2B0jP+bDOqRpKp6Dw4AKi3hUd2Y2Tgze6Sq46hOzOxsM1tf1XE451zC4MGDGTVqFHXqpP+v8sEHH+Sss84qfL548WLat29Px44dGTduXGECBOCMM87goIMOYt999+WCC6o0/+6cc64SecLD7XEk3SppiaSVksarhI9qUj7BbiopNz5uL+nVOBpjuaSjYvnPk8rvTyQ3JOVLGiFpMXBSmnYGAhcCt0p6LJbdEONcLun3saylpLckjQVeA75XTNxnSnpN0huS5sayAyQ9HetbJOmYWF5k1EHsl5ZJbT0QR57MkdQwjrToCjxW0mgUSbmS/ihpoaSlko6TNFvSvyUNittI0p9imysk9Usqv1fSm5JmAQcl1dtF0kuSlsX6Di7l/N0taV48luMlTZP0nqQ/JG1X3Hm7RNK7kl4CuiVtX9hnki6P5+kNSU9JalRcPCmxpd1PYTTLXyW9IumD2N9IqiNpbDwXMxVGVCRey5XUND7uKik7Pj4h1vN6/H10LG8kaUq8Fp6QtFg7rvPT4zl7TdJUSY0zPJ7CGJLKWsW2j5d0hKRn43mbL6lNJvU651x5zJw5k4MOOoguXbqkff3222+nXr169O/fv7DsxBNPZNWqVSxZsoSRI0eyefPmwtdmz57Nxx9/zJYtW3jhhRd2e/zOOeeqh3qlb+JcpWgoKSfp+Ugze6KYbe81sxEAkv4O9AGeKWN7g4AxZvaYpL2AupLaAv2Abma2LSYl+gOPAPsAK83s1nSVmdkESd2BmWb2pKTTgaOAEwABMyT1AP4DHA1cYmZXpatLUjPgAaCHma2WdEB86ffA62Z2nqReMa5OpRznUcBFZna5pClAXzN7VNI1wFAzW1rK/h+Z2UmS7gYmEpIGDYBVhFE6P44xHAs0BZZImkdICh0NdASaA28CD0qqD9wDnGtmn8cEye3ApSXEsNXMeki6DvgH0AX4Avh3jOsg0pw3Sc/FPusCfAW8CLyepv5pZvYAQEyiXBZjLE1J+x0MdAfaADOAJ2NftYx9chDwFvBgKW28TbgOCiSdCvwR6AtcBXxpZsdI6gDkxDiaAsOAU81sk6QbgeuBERkcTxExuTKZcK3mKCTeBpnZe5JOBMYCvdLsdwVwBUDTps24tWNBWZt2NUTzhjDEz3+ttivXwKRJU5gzZw7Tpk1j69atfP3115x22mncfPPNPPvsszzzzDP8+c9/5qWXXkq7/7Zt23j44Yc5+uiji5QfddRRjB07lvr165crLlc2+fn5ZGdnV3UYror4+XfV4RrwhIerLr6JU1sy0VPSr4FGwAGEm++yJjwWAjdLOpRw4/qepFMIN8dLFAaNNAQ+i9tvB54qQ/2nx5/EDXZjQvLhP8CHZraohH2/D8wzs9UAZvZFLO9OuNnFzF5QWBNl/1LiWG1miUTSMsINd1nMiL9XAI3NbCOwUdKw5YY/AAAgAElEQVRmSU1iTJPMbDvwaRxJcTzQI6n8v5ISH6cdDXQAnot9XBf4uAwxrDKzjwEkfUAYIdOd9OftRCDbzD6P2z8BtE5Tf4eYsGhCOE+zM+qZkvd72sy+Bd6U1DyWdQemxvJPJL2YQRv7Aw8rjEAyIPEXendgDICZrZS0PJZ/H2gHvBz7Yi/CtV5WzQjJpb5mtiqOEvkBMFU7BlTtnW5HMxsPjAdo0epI+/MK/2+mthrSsQA//7XbrlwDuY89Vvg4Ozub0aNHM3PmTJ599llmzJjBSy+9RLNmzQq3Wb16Nd/73veoV68eH374IZ9++il9+/alQYMGbNy4kYMPPpiCggLuu+8+TjnlFLKysnb18FwGsrOzva9rMT//rjpcA/6XiNujSGpA+GS5q5l9JGk4YcRBcQrYMXWrcDsze1xhekpvYLbClBQBD5vZb9LUsznevGccKmGUyv0p8bcENmWwrxVTnsooeoxQtD+2JD3eTkgGlEVi/29T6vqW8O9HSSu/FXcMq8xsp2lBuxjDTudN0nnFxJBqInCemb0haQCQlWFcJe2XHKdSfqeT9joFbgNeNLPz47WTXUpdAp4zs4tKDr1UXwEfEUb0rIqxrS9DUtI553aLa665hi1btnDaaacBYeHScePGsWDBAu644w7q169PnTp1GDt2LE2bNuXTTz/lnHPOYcuWLWzfvp1evXoxaNCgKj4K55xzlcXX8HB7msTN4Nr4qXNpK4/lEj79J3lbSa2AD8zsr4QRBMcAc4ELJB0UtzlA0mHljHM2cGli/QRJhyTqzcBC4IeSDk/EEcvnEabYICkLWGtmG+IxHhfLjwMOz6CNjcC+GcZTknlAP0l141ScHsCrsfynsfxgoGfc/h2gmaSTYrz1JbXfxRiKO2+Lgaw4EqY+8JNi9t8X+Dhu07+YbSpivwVA37iWR3OKJkhy2XGd9k0q3x9YEx8PSKnrQgBJ7QjTZAAWAd0kHRlfayQp3aiW0mwFzgP+R9LP4nW2WtJPYr2SdGw56nXOuTLLyspi5syZALz//vt89NFH5OTkkJOTw7hx4wC4+OKLWbVqFTk5Obz22mucd955ADRv3pwlS5awfPlyVq1axT333FNkMVPnnHM1m/+L76qL1DU8njWznb6a1szWS3qAML0hF1hSSr2jgSmSLgaSVynrB/xc0jbgE2CEmX0haRgwR+HbU7YBVwMflvVgzGxOXBNkYZwCkA/8nDDKorR9P4/rIEyLcXwGnAYMBx6K0xe+Bv437vIU4cY0h9Af72YQ4kRgnKRvgJMy+VaZYkwnrNfxBmE0xa/N7BNJ0wnrO6yI8bwUj22rwkKdf43TceoBfyGMIigXM3sz3Xkzs0VxBNBCwrSZ1whTaFLdQkiOfBjjzTQRVNb9ngJOAVYS+mQxYSQFhLVG/k/Sb2N5wijClJbrKXr9jo3lywnTppYDX8VrZwAwSVJiyskwMrsmiohrgPQhTD/aREjq3Bf7uj5hfY83ylqvc84555xzlUVmmYz4ds45t6skNTazfEkHEkbCdDOzT8pRT12gvpltlnQEYZRLazPbWsEh75IWrY60OheOqeowXBXxNTzcLq3hcUfvCo7GVYXqMH/fVR0//66yrgFJy8ysa7rX/C8R55yrPDPjYq97AbeVJ9kRNQJejNNpBFxZ3ZIdzjnnnHPOVTVPeLhqK06LSF2P4kYz2+lbNCT9jbDAYrIxZvZQVcaVQV2L2fnbLi42sxXlja8cMVTY8exCDJV2/jKM52Z2XvNjqpndviv1mlnWruyfVM9GIG0WO53qcI6dc84555yrbJ7wcNWWmZ1fhm2v3p2xpLSVcVwZ1HViRdW1CzFU2PHsQgyVdv4yERMbu5TcqE6qwzl2zjnnnHOusnnCwznnnHPOVRlfr8M559zu4l9L65xzzjnnnHPOuRrHEx7OOeecc84555yrcTzh4ZxzzjnnnHPOuRrHEx7OOeecc84555yrcTzh4ZxzzjnnqoXt27fTuXNn+vTpA8DUqVNp3749derUYenSpYXb5ebm0rBhQzp16kSnTp0YNGhQ4WtPPPEExxxzDO3bt+fXv/51pR+Dc8656sMTHq5WknSgpJz484mkNUnPLelxjqSbSqgnW1LX+PifkpqU0m7h9lVN0gBJ98bHgyT9TznqOE9Su4qPrrD+TpLOLmWbLEk/2F0xpGlrZmW0VRkkDZc0ND4eIenU+DhXUtOqjc45VxuNGTOGtm3bFj7v0KED06ZNo0ePHjtte8QRR5CTk0NOTg7jxo0DYN26ddxwww3MnTuXVatW8emnnzJ37txKi98551z14gkPVyuZ2Toz62RmnYBxwN1JzzclHsefOzKs82wzW79bA99NzGycmT1Sjl3PA3ZbwgPoBJSY8ACygEpJeNRkZnarmT1f1XE452qvvLw8Zs2axcCBAwvL2rZty9FHH51xHR988AGtW7emWbNmAJx66qk89dRTFR6rc865PYMnPJyrIIlPxSW1lPSWpAckrZI0R1LDlG3rSHpY0h8k1ZU0UdJKSSsk/aqENrIl3S1pXmzjeEnTJL0n6Q9J2/1c0qtxhMr9kurG8kskvSvpJaBb0vbJn/RfLmmJpDckPSWpUTGx/AA4B/hTbOdEScvia8fGkTIt4vN/S2okqVmsc0n86RZf30fSg7HsdUnnStoLGAH0i/X3SxNDS2AQ8Ku4zcmSVkuqH1/fL56X+rHv/iLpldjXJxTXdimnOtH2CbGu1+Pvo2P5gHhOno3nZVTSPpfF/s+O10dihM1ESRckbZcffzeWNFfSa/HaODdpm1skvS3pOUmTks7fEbHtZZLmS2qT4fEUiSGWNYx1XV7efnLOuUwNHjyYUaNGUadOZn+erl69ms6dO/PDH/6Q+fPnA3DkkUfy9ttvk5ubS0FBAU8//TQfffTR7gzbOedcNVavqgNwrhpqKCkn6flIM3uijHUcBVxkZpdLmgL0BR6Nr9UDHgNWmtntkroAh5hZBwCVMi0G2GpmPSRdB/wD6AJ8Afxb0t3AQUA/oJuZbZM0Fugv6Tng93H7r4AXgdfT1D/NzB6IsfwBuAy4J3UjM3tF0gxgppk9GbdvIGk/4GRgKXCypAXAZ2b2taQJhNE0C2IyZDbQFrgZeMHMLo3H/yrwPHAr0NXMrknXEWaWK2kckG9mo2MM2UBv4Gngp8BTsR8A9jGzH0jqATwIdEjXtqTnzWxTKefhbaCHmRUoTAX5I+E8QxiZ0hnYArwj6R5gO3ALcBywEXgBeKOUNjYD55vZBoUpJotin3eJbXUmXE+vAcviPuOBQWb2nqQTgbFAr1LaSacxMBl4xMwekfRHMugnSVcAVwA0bdqMWzsWlKNpVxM0bwhD/PzXapleA9nZ2SxcuJBt27axceNGcnJyWLduHdnZ2YXbrF+/nmXLlpGfnw/A1q1befzxx9l///1555136Nu3Lw899BD77LMPV111FWeddRZ16tShffv2rF+/vkhdrvLk5+d739difv5ddbgGPOHh3M6+iVNbdsVqM0skTZYBLZNeux+YYma3x+cfAK3iTfEsYE4pdc+Iv1cAq8zsYwBJHwDfA7oTboiXxJv8hsBnwIlAtpl9Hrd/Amidpv4OMdHRhHDTOzuTA45eIYwc6UFIAJwJCJgfXz8VaBfjAthP0r7A6cA5iVEKQAOgRRnaTTYB+DUh4XEJcHnSa5MAzGxeHP3RpIS23yqlnf2BhyUdBRhQP+m1uWb2FYCkN4HDgKbAS2b2RSyfSvr+TybgjzFB8y1wCNCccI7/YWbfxLqeib8bE6b3TE3q471LaaM4/wBGmdlj8XlG/WRm4wlJF1q0OtL+vML/m6mthnQswM9/7ZbpNZDbP4vZs2ezbNkyBgwYwObNm9mwYQMTJkzg0UfDZwVNmjShS5cudO268zJYWVlZTJo0iebNm9O1a1eysrL47W9/C8D48eN5//33ycrKqtBjc5nJzs72vq/F/Py76nAN+JQW53aPLUmPt1M0ufgK0FNSAwAz+xI4FsgGribcsGdS97cp7Xwb2xHwcNIaJEeb2fC4jWUQ+0TgGjPrSBgR0iCDfRLmE0Z3HEa4YT6WcHM+L75eBzgpKbZDzGxjjLlvUnkLMyst4ZCWmb0MtJT0Q6Cuma1Mfjl1811o+zbgxTgy50cU7ad0518Ur4D477FCpmKvWN4faAZ0iUm4T2M7xdVVB1ifsgZN22K2Lc3LwFnakTmpsHPknHOpRo4cSV5eHrm5uUyePJlevXoVJjvS+fzzz9m+fTsQ1u147733aNWqFQCfffYZAF9++SVjx44tsiaIc8652sUTHs5Vvv8D/kn4FL5enKpQx8yeYseUh10xF7hA0kEAkg6QdBiwGMhS+Iaa+sBPitl/X+DjuE3/UtraGLdPmAf8HHjPzL4lTLU5m3DzDGH0SuH0FEmJkTSzgV8mbq4ldS6m/kxiAHiEMJrjoZTyfrH+7sBXcRRGcW2XZn9gTXw8IIPtXwV+KOk7kuqxY/oLQC5hVA7AuewYLbI/YTrQNkk9CYkkgAXAj+IUosaEKTyY2QZgtaSfxGORpGMzPJ5UtwLrCFNioPz95Jxz5TZ9+nQOPfRQFi5cSO/evTnjjDMAmDdvHscccwzHHnssF1xwAePGjeOAAw4A4LrrrqNdu3Z069aNm266idatSxtM55xzrqbysabO7Sx1DY9nzazYr6YtDzO7S9L+wN+BO4CHJCUSkL/ZxbrflDQMmBPr3AZcbWaLJA0HFgIfE9Z9qJumilsIyZEPCdNmSko4TAYekHQtcIGZ/TveDydGdCwADo2jWACuBf4maTnh3595hEVHbwP+AiyPN9S5QB/COiM3xfNR3FoqzwBPxkU0f2lm8wlrpPyBOIUlyZeSXgH2Ay6NZcW1XZpRhCkt1xPW4yiRma2J62AsBv4LvElYSwXgAeAfkl4lJKwS62I8BjwjaSmQQ1g3BDNbEtfyeINwnpYm1dUfuC9eA/UJ56i0tUKKMxh4UGHh1d9Rvn5yzrkyycrKKhwCff7553P++efvtE3fvn3p27fvTuUAkyal/tPvnHOutpJZJiPcnXNuzxG/beRcM7s4qSwbGGpmS6swrsZmlh9HeEwHHjSz6btYVyNC4ugKM3utIuPdVS1aHWl1LhxT1WG4KuJreLiM1/C4o3clROOqQnWYv++qjp9/V1nXgKRlZrbzIk/4CA/nXA0TF389izCVproZHr/RpQFhes/Tu1DXeEntYl0PV7dkh3POOeecc1XNEx7OZUDSdODwlOIbzaws32BSlvb+Rvi2k2RjzCx1TYpKIelmdl7zY2rSN81URgyXANelFL9sZlcnF5jZL9Ptb2ZZZWjrDODOlOLVZrbzuOoyMLOhpW+VcV0/y3Tb6nD+nHPOOeecq2ye8HAuA7t6o1uO9q4ufavKE2+Mq/TmOCZ7KiXhExNZuyWZVRWqw/lzzjnnnHOusnnCwznnnHPOVTpfu8M559zu5l9L65xzzjnnnHPOuRrHEx7OOeecc84555yrcTzh4ZxzzjnnnHPOuRrHEx7OOeecc84555yrcTzh4Zxzzjnnqsz27dvp3Lkzffr0AWDq1Km0b9+eOnXqsHTp0sLtnnvuObp06ULHjh3p0qULL7zwwk51nXPOOXTo0KHSYnfOOVe9+be0OOecc865KjNmzBjatm3Lhg0bAOjQoQPTpk3jF7/4RZHtmjZtyjPPPMN3v/tdVq5cyRlnnMGaNWsKX582bRqNGzeu1Nidc85Vbz7Cw9Uqkg6UlBN/PpG0Jum5JT3OkXRTCfUMltSogmMbIOm75dx3uKShFRBDtqSuGW7bSdLZu9pmCfU3kXRVKdu0lPSz3RVDmvbyK6ut3U1SlqSZ8fE5ietd0kRJF1RtdM652iIvL49Zs2YxcODAwrK2bdty9NFH77Rt586d+e53w3+T7du3Z/PmzWzZsgWA/Px87rrrLoYNG1Y5gTvnnNsjeMLD1Spmts7MOplZJ2AccHfS802Jx/HnjhKqGgxUWMJDUl1gAFCuhEcV6QTstoQH0AQoMeEBtAQqLeFRU5nZjFKud+ec2y0GDx7MqFGjqFOnbH+SPvXUU3Tu3Jm9994bgFtuuYUhQ4bQqFGFfhbhnHNuD+dTWpwrI0nXEhITL0paC9wHfN/Mrpd0HXCdmbWSdATwsJl1L6aeXOBB4HRC8qUr8Jikb4CTzOybYvbpamZr40iM0WaWFV9uJykbaAH8xcz+Gvd5Gvge0AAYY2bjY4Ll/2KbBjxoZnfHen4iaSwh4XCZmc1PE8dewAigoaTuwEhgGHAy8BWwFviVmT0i6e/Aw8CLwB1AFrA38Dczuz/WdwNwYSyfbma/i9seISkHeM7MbkjTjXcAbeM2DwM/Bn5pZjmx3peBK2P5EcAhsS9GmdkDJbRdIkmNgX8A3wHqA8PM7B+SWgL/AhYAPwDWAOea2TeSjo99vim+fpaZdZA0gHBOr4l1zySc12xJ9wHHAw2BJxOxxZE1d8V+fg1oZWZ9JO0D3AN0JPz7PtzM/pHB8RSJIan8tthflwJDMuknSVcAVwA0bdqMWzsWlNa8q6GaN4Qhfv5rtdKugZEjR7Jt2zY2btxITk4O69atIzs7u/D19evXs2zZMvLziw6uW716NcOGDWPUqFFkZ2fz/vvvs3jxYs4991wWLVrEpk2bitTjqk5+fr6fi1rMz7+rDteAJzyc26FhvHFOGGlmT6RuZGZ/lXQ90DMmHv4fkLgZPxlYJ+kQoDuwU7IgxeZEQkTSQGComS0tZZ/itAF6AvsC70i6z8y2AZea2ReSGgJLJD1FGBlxiJl1iG03SaqnnpmdEG+qfwecmtqQmW2VdCtFb9R7At2AD4EPCH3xCPB9QtLhMuArMzte0t7Ay5LmAEfFnxMAATMk9QBuAjrE0TfFuYnQZ31iDF8QRsoMltQa2NvMlkv6MXBMjGUf4HVJs4AO6do2s3ml9PVm4Hwz2yCpKbBI0oz42lHARWZ2uaQpQF/gUeAh4Aoze0VSpqMpbo7nri4wV9IxwLvA/UAPM1staVLy9sALZnZpPKevSnrezDZl2F4hSaOA/YFLgNPIsJ/MbDwwHqBFqyPtzyv8v5naakjHAvz8126lXQMXaQPLli1jwIABbN68mQ0bNjBhwgQeffRRAJo0aUKXLl3o2nXHTMu8vDyuuOIKpkyZQrdu3QB46623yM3NZcCAARQUFPDZZ58xfPjwKv8j20F2djZZWVlVHYarIn7+XXW4BnxKi3M7fJMypWWnZEc6ZvYJ0FjSvoRPwx8HehBu+EtLeGTURoZmmdkWM1sLfAY0j+XXSnoDWBTjO4qQkGgl6R5JZwIbkuqZFn8vIyRGMjWfcNw9CKNeOsbEzxdmlk8YyfI/Mam0GDgwxnJ6/HmdMFqhTSwvj6lAH0n1CaMSJia99g8z+yb2z4uEm/fyti3gj5KWA88TRo4k+nt1YoQJsQ9j8mFfM3sllj+e4fFcKOm1GF97oF2M8QMzWx23SU54nA7cFPs4mzCqp0WGbSW7BWhiZr8wM6Niz5FzzgFhhEdeXh65ublMnjyZXr16FSY70lm/fj29e/dm5MiRhckOgCuvvJL//ve/5ObmsmDBAlq3bu3JDuecc4AnPJyrKAsJn4S/8//Zu/P4qor7/+OvN4iAxkIV4adVGnEpskZBFkEb6lYEF9CCfrXiLu5WXCsCFb8VrVVwF624VPm6oBa1BVSMIiogEiCogF9Jvy5UFhcMmyF8fn/MJNyEm+QmhCQkn+fjkUfunXvOzJyZcwPnc2bmEC78jwB6AjPL2a+id943seV726TEZxsTXhcAO0nKJIzQ6GlmnQkXrE3M7DugM+Gi+FLg0ST5FFCxUWDvEI77iJjvSuBUtgR9RJhuUhhQ2s/MpsX02xLSDzCzv1Wg3CJmtg54HTiJMP0iMbBgJTffhrLPAPYEusQRKN+wpT+26odYTmkS+5TCfCTtB1wDHGVmnYDX4mdl5SXglITjaW1mn6RwPCXNAbpI2j0h3yrpI+ecK89LL73EPvvsw/vvv0+/fv047rjjALjvvvv47LPPGD16NBkZGWRkZLBixYoarq1zzrnazAMezlXOj4SpI4XeIVycvkMIKvQBNprZD9uQZzK5QJf4+pQU8mwGfGdm6yS1JUzpIE7DaGBmkwh38w+tQD2T1tfMvgBaAAea2eeEdSquYUvAYypwcRx9gaSD4poTU4Fz47oYSPqFpJYl80+lDtGjwD3AHDP7NiH9JElNJO1BWEdkThlll6cZsMLM8uNUnl+WtXEMMP0oqUdMOi3h41wgQ1IDSfsSRp4A/IwQEPtBUiugb0z/lDA6Jz2+H5yQ11TgckmKx3NICseSzBTC+iivxZFLlW0n55xLSWZmJq+++ioAAwYM4Msvv2Tjxo188803TJ06FYDhw4ezdu1asrOzi35atiz+pyg9PZ2cnJxqr79zzrnaySfXOrdFyTU8pphZaY+mHQ/8S9JyM+tDuKjfF3jHzAokfUG4MK2Ix4GHylq0FPgT8DdJfyRMCynPFGBonHqxmDCtBcIUjAmSCoOeN1awrhCmhRROnyhc72QW0DB+PoOwmOm78f2jhCkyH8UL8pXAyWY2TdLBwPvxOj0PONPM/lfSTEk5wL9KWbR0AbApTtl53MzuNrO5ktYQ1sxINJswSqI1MNrMvga+TlY2YUpQWZ4GXpH0IZBNan19HvCIpLWEETCFwbCZwDJgIZBDmDKCmc2XNA9YRJiCNDOmr1d4XO+UuGju7IQyRgNjgQWxjXOB/inUbStm9nwMdkwmPI3nGSreTs4555xzztUYhenZzjlXN0jamxBQaGtmm2PaKCDPzO6swXqlxbVMkHQDsJeZXbktecWgxv3A0oSn7NQardscYA0Gjavparga4ouWuvLOgdwx/aqxNq4m1IYFC13N8f531XUOSJprZl2TfeZTWpxzdYakswijTG4qDHbUIv0kZccRK0cAt25DXhfEkTWLCNNrHq6KCjrnnHPOOVeX+K0X58og6SVgvxLJ15vZ1O2ZR1WUW1UkHQfcXiJ5mZkNqMY6dASeKpG80cy6JyaY2ZOER+FSIn1UBcraA3gzyUdHmdnqVPNJUodnqaKn8sTRHCmN6KgN/eecc84551xN8ICHc2WoiovCyuRRmy5GY5Cl2gMtJeqwEMioprJWV1dZ1aE29J9zru5LNj0lKyuL3DMyq78yzjnnXORTWpxzzjnnnHPOOVfneMDDOeecc84555xzdY4HPJxzzjnnnHPOOVfneMDDOeecc84555xzdY4HPJxzzjnn3DbbsGED3bp1o3PnzrRv354JEyYAMH/+fHr27EnHjh054YQTWLNmDQCvv/46Xbp0oWPHjnTp0oXp06dvleeJJ55Ihw4dqvU4nHPO1R0e8HDOOeecc9uscePGTJ8+nfnz55Odnc3s2bP54IMPOP/88xkzZgwLFy5kwIAB/OUvfwGgRYsWvPLKKyxcuJAnnniC3//+98Xye/HFF0lLS6uJQ3HOOVdHeMDDASBpD0nZ8ec/kr5KeG8Jr7Ml3VDT9a0oSUdIWhTr37Sm61MWSWdL2rsC22dKejXVbeLrwytZt2L7Shoq6azK5FXdJD0u6dT4+lFJ7SqRR5akrlVfu5ohKS/+3lvSC/H12ZLuq9maOed2RJKKAhT5+fkUFBQgicWLF3PkkUcCcMwxxzBp0iQADjnkEPbeO/xz1759ezZs2MDGjRsByMvL46677mL48OE1cCTOOefqCg94OADMbLWZZZhZBvAQcHfC+7WFr+PPmBqubqkkNSzlozOAO2P916eQjyTV1PfjbCDlgEclZAKVCniU3NfMHjKzJ6ugTtXKzM43s49ruh61hZl9bWan1nQ9nHM7voKCAjIyMmjZsiVdunShe/fudOjQgcmTJwPw/PPP88UXX2y136RJkzjkkENo3LgxADfffDPDhg1jl112qdb6O+ecq1t2qukKuLpF0gjgBKAp8B5wkZlZKdtmAdeY2YeSWgAfmlm6pPbABGBnQlDuFDNbKulM4IqYPgu4xMwK4l3qu4DjgGHAuyXKOR8YBBwn6WgzO0PStTGtMfCSmY2UlA78C3gL6AmcDPw7Sb1/C/wZaAisMrOjJO0OPAa0AdYBF5rZAkmjgDwzuzPumwP0j1n9K9b1cOAr4CSgH9AVeFrSeqBnsgBNrMNYYBXwUUL6rsC9QEfC93uUmf0j4fN0YChQENvzcqA5MDy262rgDDP7JkmZyfY9qvD4Yn/OA7oAewJnATfGujxrZsNjPkn7sWR5cds84H7gaOA74I/AHUBr4CozmxyDXGMIwZjGwP1m9rAkxbb4DbAMUEK+WWw59x4EDiOcsy+Y2chkdUlSt6T7ScoFniB8DxoBvzOzTyXtCTwD7AHMAX4b2yoNeNXMOsT9rwHSzGyUpAuAC2NbfQb83szWSdofeJpwDv4LuNrM0uL+W53bKRxLemIdEtL7Ec6NE4BDgT/FfP8XOMfM8pLkdWGsMy1a7MmIjpvKK97VUa2awjDv/3ojKyur6PXYsWPJy8vjj3/8IxMmTGDo0KHceuutXHvttfTq1YsGDRoU237ZsmUMHz6cO+64g6ysLD777DNmzZrFSSedxAcffMDatWuLbe92HHl5ed539Zj3v6sN54AHPFwqmkrKTnh/m5k9W8q295nZLQCSniJc3L9SwfKGAuPM7GlJOwMNJR0MDAZ6mVm+pAcIozaeBHYFcsxsRLLMzOxRSb0JF3QvSDoWOBDoRrgInizpSOD/gF8RLuQuSZZXvGh9BDjSzJbFQAeEC8F5ZnaypN/EemWUc5wHAqeb2QWSniMEdv4u6TLixXgpdWgS6/AbwkVwYl/cBEw3s3MlNQdmS3ojoS1yJT1E8SDMz4EeZmYxOHQdIXBUsh2T7XtUic1+MrMjJV0J/INwQf8t8L+S7u//diUAACAASURBVAZaUno/JrMrkGVm10t6CbgVOAZoRwgqTAbOA34ws8MkNQZmSpoGHELoz45AK+BjQlCqpJvM7NsYOHlTUiczW1BKfVLdb5WZHSrpEuAa4HxgJKFvbosBqwtTKONFM3sEQNKt8VjvBcYRviMTJQ0t3Li0c9vM3kmhrGIkDQCuBo4nBFaGA0eb2VpJ18fPbim5n5mNB8YDtG5zgP11of8zU18N67gJ7//6I/eMzK3SJk2axOrVq7nmmms466ww+3HJkiUsWrSIzMyw/ZdffsmFF17Ic889R69evQD45JNPyM3N5eyzz2bTpk2sWLGCUaNG1fh/ml3FZWVlFfW1q3+8/11tOAf8fyIuFevj1JZU9JF0HbALsDuwiIoHPN4HbpK0D+GCb2m8sO4CzAk37mkKrIjbFwCTKpD/sfFnXnyfRrhI/D/g32b2QRn79gDeMbNlAGb2bUzvDZwS06YrrInSrJx6LDOzwkDSXCA9xfq3jfsuBZD0d7ZcPB8LnBhHCQA0IYyGKMs+wLOS9iKMJFiWYj2SmRx/LwQWmdnyWMfPgX0J7VRaPybzEzAlIc+NMVCykC3tdSzQqXB9DqAZoT+PBCbG0SNfS9p6+f9gUByVsBOwFyGYkkrAo6z9Xoy/5wID4+vewAAAM5si6bsUyugQAx3NCefp1JheOAIJwqiRO+Pr0s7tigY8+hBGGh1rZmsk9Scc38zYbzsTvqfOOVdk5cqVNGrUiObNm7N+/Xrmzp3LKaecwooVK2jZsiWbN2/m1ltvZejQEKf9/vvv6devH7fddltRsAPg4osv5uKLLwYgNzeX/v37e7DDOedcpXjAw1WZOPLgAaCrmX0Rp3M0KWOXTWxZR6ZoOzN7RtIswvSOqXHUgYAnzOzGJPlsKG1KRGlVJYxSebhE/dOBtSnsm2yKjpKkGcWPEYq3x8aE1wWEi/9UJZ0mFOtxipktLpYotSojr3uBu+L0kExgVAXqUVLhMW2m+PFtJvy9Kasfk8lPmBJVlKeZbZZU+PdLwOVmNjVxR0nHU3o7FW6zH2EExmFm9p2kxyn7nE11v8JjL2DL39lk5wiUfY48DpxsZvMlnU2YtlNm1UhyblfC54TpWQcBH8Z8Xzez07cxX+dcHbZ8+XKGDBlCQUEBmzdv5rDDDqN///6MGzeO+++/H4CBAwdyzjnnAHDffffx2WefMXr0aEaPHg3AtGnTaNmyZY0dg3POubrFFy11VanwQm2VpDSgvEUQcwl3+0ncVlIb4HMzu4cwYqAT8CZwqqSWcZvdJf2ykvWcCpwb64ikXxTmm4L3gV/HC14SprS8Q5iaQQwarDKzNfEYD43phwL7pVDGj8BuZXz+KbBfXMcBIPEidCpweVy/AkmHpJB/M8IaIgBDtrFu5anKfiw0FbhYUqOY50FxLZN3gNMkNYyjV/ok2fdnhCDXDzEo1DfFMiuz37uEtTUKp578PKZ/A7SMo4Ias2WNFwhtvTwe2xkJ6R8QRxQBpyWkb8u5nejfhJEpTyqsqfMB0EvSATHfXSQdVIl8nXN1WKdOnZg3bx4LFiwgJyeHIUPCPylXXnklS5YsYcmSJYwZM4b4TxTDhw9n7dq1ZGdnF/2UDHakp6eTk5NT7cfinHOubvCAh0tFUxV/LG3Sp7SY2feEtSUWAi8TFmYsy52EC9X3gBYJ6YOBnLhuSFvgyfhEjeHANEkLgNcJ0wgqzMymEaYBvB+nRrxAihfxZraSMH3kRUnz2bJ+xiiga6zbGLYEDiYBu8djuRhYkkIxjwMPqZRH6JrZhliH1yS9S/GFVUcTFspcoLBA6ugk+b8CDIj5HxHr/rykGYRFUMtSct8Kqcp+TPAoYX2Oj+IxP0wYVfESsJRwPj4IvJ2kPvMJ0z8WEdb3mJnicVRmvz8Bx0r6iBAgWQ78aGb5hLUwZgGvEgJahW6O6a+XSL8KuFrSbEL7/RDrVelzO8kxLiYEWZ4nBHjOBibGfvuA8N10zjnnnHOu1lIpD9BwzjlXheLojQIz2ySpJ/BgBdbGKZnXLoS1dUzSaYTFb0+qyvpWhdZtDrAGg8bVdDVcDfFFS+uX3DH9tkqrDYvVuZrl50D95v3vqusckDTXzLom+8z/J+Kcc9WjNfCcpAaExVgv2Ia8ugD3xalL3wPnVkH9nHPOOeecq1M84OEqJT4itOR6FNeXXDgybns/0KtE8jgzm1CT9Uohr1lA4xLJvzezhZWtXyXqUGXHU8FyzwGuLJE808wu3U7l1Xhbl6hPlbd7fKpOsjVVKpPXDKBzKttK2oOwdkpJR5nZ6qqoj3POOeecc7WRBzxcpZjZgApsu10ukkspK+V6pZBX96rKaxvqUGXHU8FyJwBVHpAqo7wab+tENdXu20MMalRq6oxzzjnnnHM7Ml+01DnnnHPOOeecc3WOBzycc84555xzzjlX53jAwznnnHPOOeecc3WOBzycc84555xzzjlX53jAwznnnHPObZMNGzbQrVs3OnfuTPv27Rk5ciQA8+fPp2fPnnTs2JETTjiBNWvWALB69Wr69OlDWloal112WVE+P/74IxkZGUU/LVq04KqrrqqRY3LOObfj86e0OOecc865bdK4cWOmT59OWloa+fn59O7dm1atWjFhwgTuvPNOfv3rX/PYY4/xl7/8hdGjR9OkSRNGjx5NTk4OOTk5RfnstttuZGdnF73v0qULAwcOrIlDcs45Vwf4CA9Xa0naQ1J2/PmPpK8S3lvC62xJN5SRT66kFttYl3RJOaV8drakvbcl/5ogKUtS1/j6n5KaVyKPP1Z9zYrlX27bSrpK0i7bsx4JZT0u6dTqKKs6JH43JL0Xf2dKerVma+ac29FIIi0tDYD8/Hzy8/MBWLx4MUceeSQAxxxzDJMmTQJg1113pXfv3jRp0qTUPJcuXcqKFSs44ogjtnPtnXPO1VUe8HC1lpmtNrMMM8sAHgLuTni/tvB1/BlTg1U9G9jhAh6JzOx4M/u+Ertu14AHqbXtVUC1BDzqMjM7vKbr4JzbsRUUFJCRkUHLli055phjaNeuHR06dGDy5MkAPP/883zxxRcp5zdx4kQGDx6MpO1VZeecc3WcT2lx9cXlkk4AGgG/M7NPJXUDxgJNgfXAOWa2WFJ7YAKwMyEoeAqQDzSU9AhwOPAVcBLQD+gKPC1pPdATuBY4Ieb7HnCRmZmkw4C/AWuBd4G+ZtYhWXlmtrTkAUhKB6bEfXsA8+N+fwJaAmeY2WxJuwL3Ah0J3/FRZvYPSU3j9u2AT2L9CvPOBbqa2SpJLwP7Ak2AcWY2PlmDShoDNJWUDSyK9dlgZvdIuhvobGa/kXRUbNszJR0b69sY+N+YniepC3AXkAasIgQ6epVsWzNbX6IOVxACIm9JWgX8HehgZn+In18AHAzcE9tuFnAIsAQ4y8zWJSvbzJYnO+YSZY8geT9nxXL6AM2B88xsRhyF8jjQNrZ/OnCpmX0oKc/M0mK+pwL9zezseM4OJ5wbqwl9/I2kPYFngD2AOcBvgS6x/84Eroj7zAIuMbOCFI6nqA4JaYcB4wnfgZ+n0k6SLgQuBGjRYk9GdNxUXtGujmrVFIZ5/9cbWVlZAIwdO5a8vDxuvvlmWrduzdChQ7n11lu59tpr6dWrFw0aNCjaFuDTTz/lq6++KpZW6LHHHuPGG29M+pnbMeTl5Xn/1WPe/642nAMe8HA7qsIL7UK3mdmzZWy/yswOlXQJcA1wPvApcKSZbZJ0NPBnwoXdUMKF/tOSdgYaAq2AA4HTzewCSc8RAhN/l3QZcI2ZfQgg6T4zuyW+fgroD7xCCDZcaGbvxWBBoWTlleYA4HeEC8o5wH8BvYETCaMtTgZuAqab2blxmspsSW8AFwHrzKyTpE7AR6WUca6ZfRsDJHMkTTKz1SU3MrMbJF0WR9wgqQcwjBBc6Ao0ltQo1m9GnDoxHDjazNZKuh64WtJthADNSWa2UtJg4L9j/Yu1bZI63CPpaqBPvNjfFVgg6TozywfOiccN8CtC8GGmpMeASySNS1Y2cG4ZfVCotH4G2MnMukk6HhgJHA1cAnwX278DkJ0s0xLeBXrEQMr5wHWxjUcS+vg2Sb8lBhgkHQwMBnqZWb6kB4AzgCdTKKsYSYcT2wZYTggmldtOMUA2HqB1mwPsrwv9n5n6aljHTXj/1x+5Z2QWez937lxycnJ48MEHOeusswBYsmQJixYtIjNzy7a5ubnk5eUVS4Ow2OnOO+/MRRddhNtxZWVlbdW3rv7w/ne14Rzw/4m4HdX6wgvtFL0Yf88FClc/awY8IelAwAijPwDeB26StA/wopktjcNpl5lZdkI+6aWU1UfSdYRpFrsDiyTNAHYzs/fiNs8QLpCTllfGcSwzs4UAkhYBb8aL4YUJ9TkWOFHSNfF9E6A1cCQhGIGZLZC0oJQyrpA0IL7elxDo2SrgkcRcoIuk3YCNhIBKV+AIwoiDHoTRJTNje+4cj/1XQAfg9ZjekHCBXWExkDId6C/pE6CRmS2Mo2O+MLOZcdO/xzpN2Yayt+pntgQ8Es+39Pi6NzAu1jOnjPZPtA/wrKS9CO21LCGvATGvKZK+i+lHAV0IgSoIo09WpHg8iQ4mBC2ONbOvY4CmSvrIOVc3rVy5kkaNGtG8eXPWr1/PG2+8wfHHH8+KFSto2bIlmzdv5tZbb2Xo0KEp5Tdx4kROP/307Vxr55xzdZ0HPFx9sTH+LmDLeT8aeMvMBsQL4iwAM3tG0izCdJWp8c765wl5FObTlBIkNQEeIEwP+ULSKELAodQJyMnKM7Pp5RwHwOaE95sTjkuE0SeLS9QNQmCnVJIyCaMResbpHlmx/uWKIwpyCaMq3gMWEKZ17E+YwrE/8LqZFfsfrKSOwCIz65lKOSl4lDDa5VPCqJqiKpasMqGtKlx2Gf1cKNn5VtYk9MS6JeZzL3CXmU2OfTOqnLwEPGFmN5Z3DOVYHutxCPA1lWwn51z9sXz5coYMGUJBQQGbN29m0KBB9OzZk4kTJ3L//fcDMHDgQM4555yifdLT01mzZg0//fQTL7/8MtOmTaNdu3YAPPfcc/zzn/+skWNxzjlXd/iipa4+a0ZYiwPCmhEASGoDfG5m9wCTgU7l5PMjsFt8XXixukpSGnAqgJl9B/wYp30AnLYN5ZVnKmHNEsX8D4np7xCmNxDv2Ccrpxlh2sU6SW0JozLKkh+nrRR6hzBl6B1gBmG6TraZGfAB0EvSAbEOu0g6CFgM7CmpZ0xvFNc1geJtW5pi25jZLMLIlP8CJiZs17qwDOB0wnSRssouS9J+Lse7wKBYTjvCGiuFvpF0sKQGxJEbUeI5OqSUvI4lrK8B8CZwqqSW8bPdJf0yhbqV9D0hAPfnGGipbDs55+qJTp06MW/ePBYsWEBOTg4jRowA4Morr2TJkiUsWbKEMWPGFFuANDc3l2+//Za8vDy+/PLLomAHwOeff07btm2r/Ticc87VLR7wcDuqpir+WNrKPKXlDuA2STMpvm7GYCAnrhHSlvLXP3gceChuvxF4BFgIvExYZ6PQecB4Se8T7pj/UMnyyjOaMD1ngcKjdEfH9AeBtDiV4jpgdpJ9pwA7xW1GE4IUZRkfy3k6vp8B7AW8b2bfABtiGma2khBYmhjz/wBoa2Y/EQIGt0uaT1jbovCJIY8T2zauKVJaHf4l6a2EtOeAmTHQVOgTYEgse3fgwXLKLlV8ok1p/VyaBwhBgwXA9YQRMIXnwA3Aq8B0ik8VGQU8H6dErUpI/xNwrKSPgL5xnx/N7GPCOinTYjmvE/qjwmL/nQDcTxjpUeF2cs4555xzriYp3Hh1zm1vktLMLC++vgHYy8yurOFq1UmSXiU8xvjN+D4deNXMOtRgnRoS1hTZIGl/wmiMg2LQpaJ5NQYK4oK7PQnBm4qsaVMtWrc5wBoMGlfT1XA1xBctrV9yx/TbKq02LFbnapafA/Wb97+rrnNA0lwz65rsM/+fiHPVp5+kGwnfu3+TMI3GVQ3Fp9IA8wuDHbXILoTH5zYijPC5uDLBjqg18FycAvMTcEEV1dE555xzzrk6wwMers6Q9BKwX4nk681sak3Up6T42NyyHp0LgKQ9CHf/Szoq2eNhq0NcVLVxieTfFz4xpprqUG7/xqkmB5Xc18xyCU8ZSbWs+4FeJZLHmdmEZNunwsx+JDy1ZpvFJ/kcUu6GUW3oP+ecc84556qbBzxcnWFmA8rfqvaLQY1aNT3BzLrXgjpUW/+a2aXVVVZ1qA3955yrW5JNYXHOOedqG1+01DnnnHPOOeecc3WOBzycc84555xzzjlX53jAwznnnHPOOeecc3WOBzycc84555xzzjlX53jAwznnnHPOVdiGDRvo1q0bnTt3pn379owcORKA7OxsevTowfnnn0/Xrl2ZPXt20T4LFiygZ8+etG/fno4dO7JhwwZ+/PFHMjIyin5atGjBVVddVVOH5Zxzrg7xp7Q455xzzrkKa9y4MdOnTyctLY38/Hx69+5N3759GTFiBCNHjqRp06asW7eO6667jqysLDZt2sSZZ57JU089RefOnVm9ejWNGjWiSZMmZGdnF+XbpUsXBg4cWINH5pxzrq7wER5uu5C0h6Ts+PMfSV8lvLeE19mSbqjp+laUpCMkLYr1/4WkF2q6ThUhKUPS8dVYXqakV6urvDLqkRd/712ZPpOULimn6mtWMySdLem++HqopLPi6yxJXWu2ds652k4SaWlpAOTn55Ofn48kJLFmzRoAfvjhB/bee28Apk2bRqdOnejcuTMAe+yxBw0bNiyW59KlS1mxYgVHHHFENR6Jc865uspHeLjtwsxWAxkAkkYBeWZ2Z3yfZ2YZNVi9lElqaGYFST46A7jTzCbE96dWY7WqQgbQFfhnTVekJpjZ1+x4fbZdmdlDNV0H59yOp6CggC5duvDZZ59x6aWX0r17d8aOHctxxx3Hhg0baNSoEe+99x4AS5YsQRLHHXccK1eu5LTTTuO6664rlt/EiRMZPHgwkmricJxzztUxHvBwtZqkEcAJQFPgPeAiM7NSts0CrjGzDyW1AD40s3RJ7YEJwM6EUU2nmNlSSWcCV8T0WcAlZlYQRwHcBRwHDAPeLVHO+cAg4DhJRwM3Aa+aWQdJZwMnArsA+wMvmdl1cb/zgOuBr4GlwEYzu6yUY2kFPAS0iUkXm9l7kq4Gzo1pj5rZWEnpheXHfa8B0sxsVGyTWUAfoDlwXnx/C9BUUm/gNjN7NkkdRgH7AXsBBwFXAz2AvsBXwAlmli/pKOBOwt+TObGuGyX9FhgLrAI+Ssh3V+BeoGPcZ5SZ/aOUdjgbOBloCHQA/kror98DG4HjzexbSfsD9wN7AuuAC8zsU0n7Ac/EcqYk5FvUZvH1U8Cu8ePLzOy9ZPUpUbek+0nKBEbF4+4AzAXONDOLo2ruSmiTNmbWP0lQMAfob2a5kl4G9gWaAOPMbHzcJun5JGlPwrnTOtbrKjObmcLxFKtDTGtA+O58AYwExgCZQGPgfjN7OEk+FwIXArRosScjOm4qr2hXR7VqCsO8/+usrKysotdjx44lLy+Pm2++mbZt2/LKK69w3nnn0aVLF+bMmcPAgQP561//yuLFi3njjTd46KGHaNy4McOGDaNhw4Z06dKlKK/HHnuMG2+8sVj+bseVl5fnfVmPef+72nAOeMDD1YSmkrIT3ie94I7uM7NbACQ9BfQHXqlgeUMJF4pPS9oZaCjpYGAw0CtetD9AGLXxJOECNsfMRiTLzMwejYGCV83shXjhmygDOIRwQb5Y0r1AAXAzcCjwIzAdmF9Gne8B3jazAZIaAmmSugDnAN0BAbMkvQ18V87x72Rm3eLF9kgzOzoGkrqWFnBJsD8hWNIOeJ8QLLpO0ktAP0lTgMeBo8xsiaQngYslPQQ8AvwG+AxI7N+bgOlmdq6k5sBsSW+Y2dpS6tCB0J5NYl7Xm9khku4GziIEVcYDQ2MgqzvwQCx7HPCgmT0p6dJS8l8BHGNmGyQdCEwkjH4pT1n7HQK0JwQjZgK9JH0IPAwcaWbLJE1MoQyAc2NQpykwR9IkQsChtPNpHHC3mb0rqTUwFTg4xbIS7QQ8Tfgu/HcMZPxgZodJagzMlDTNzJYl7hQDMuMBWrc5wP660P+Zqa+GddyE93/dlXtG5lZpc+fOZfXq1bz55ptMmjSJt99+m1GjRnH33XeTmZnJf/7zH9avX89JJ50EwJw5c9i8eTOZmSGv+fPns/POO3PRRRdV45G47SkrK6uof1394/3vasM54Gt4uJqw3swyEn5KC3YA9JE0S9JCwgVs+0qU9z7wR0nXA780s/XAUUAXwgVkdnxfOJqiAJhUiXIKvWlmP5jZBuBj4JdAN0IA41szyweeLyeP3wAPAphZgZn9APQmjBhZa2Z5wItAKpOcX4y/5wLpFTyWf8X6LiSMsigcJbEw5vUrYJmZLYnpTwBHAm1j+tI4IufvCXkeC9wQ2z2LEMhoTeneMrMfzWwl8ANbAl4LgXRJacDhwPMxz4cJo1IAehECERBGYyTTCHgknmPPE4I7qShrv9lm9qWZbQayCW3VFvg8IUCQasDjCknzgQ8IIz0OpOzz6WjgvtgWk4GfSdotxbISPUwMdsT3xwJnxXxnAXvEujjn6qmVK1fy/fffA7B+/XreeOMN2rZty957783bb78NwPTp0znwwPCn4rjjjmPBggWsW7eOTZs28fbbb9Ou3ZY/nRMnTuT000+v/gNxzjlXZ/mtF1drSWpCuFPf1cy+iEPum5Sxyya2BPGKtjOzZyTNAvoBU+OUFAFPmNmNSfLZUMq6HanamPC6gPA9q4rJyKXlkXjcsHUbFdansC4VsRHAzDZLyk+YTrSZ8o8r6dSjuM8pZra4InVIKHdjwuudCMf+fRnrwpRWj0J/AL4BOse8NqRYr7L2q+g5kLQP4/SYo4GeZrYuTlFqUk5eDeL261M6itK9Rwg4/jUG7wRcbmZTtzFf51wdsXz5coYMGUJBQQGbN29m0KBB9O/fn+bNm3PllVfy/fff06JFC8aPHw/Az3/+c66++moOO+wwJHH88cfTr1+/ovyee+45/vnPerm0lHPOue3ER3i42qzwwn1VvItf3iKTuYRRGyRuK6kN4c76PYQ73p2AN4FTJbWM2+wu6ZdVWPeSZgO/lvRzSTsBp5Sz/ZvAxbFuDSX9DHgHOFnSLnEdjAHADMJFd0uFJ+M0Jkz7Kc+PQGXu+pf0KWGUxQHx/e+Bt2P6fnFtDYDEW3ZTgcsVV6STdMi2VMDM1gDLJP0u5idJnePHM4HT4uszSsmiGbA8jsb4PWEkSyoqut+nQJuEKVCDEz7LJUxPQdKhhLVTCsv4LgY72hLWUIGyz6dpQNFUJUmVXSD4b4RFbZ+PZUwlTFdqFPM9KJ6Hzrl6qlOnTsybN48FCxaQk5PDiBFhJmjv3r2ZO3cuf/vb35g1a1axNTrOPPNMFi1aRE5ODnfccUex/D7//HPatm1brcfgnHOubvOAh6sJTVX8sbRjkm1kZt8T1oFYCLxMWBCzLHcSLsjeA1okpA8GcuJQ/LbAk2b2MTAcmCZpAfA6W6ZBVDkz+wr4M2EqwBuEqS4/lLHLlYS76wsJU1Ham9lHhPUyZsd8HjWzeXFKwy0x7VXChXV53gLaxfYfXO7WpYh3/s8hXBQvJIy6eCimXwi8Juld4N8Ju40mTAdZEBfnHF3Z8hOcAZwXp34sAk6K6VcCl0qaQwgeJPMAMETSB4TFWUtbS2Sb9osjLi4BpsQ2+YYt58AkYPd4jl4MFE4RmgLsFM/R0YRpLeWdT1cAXSUtkPQxYQ2bSjGzuwiLqz4FPBrL+Sj228P4KEHnnHPOOVeLqZQHXjjnqpikNDPLi3fLXwIeM7OXarpervoknAMiPFVmqZndvY151drzqXWbA6zBoHE1XQ1XQ3zR0rotd0y/crepDYvVuZrl50D95v3vqusckDTXzJI+dMBHeDhXfUbFO/g5wDLCqBVXv1wQz4FFhBEnWz3WtQL8fHLOOeecc64MfuvF1QrxMaf7lUi+PtkCiZLuJzx9I9E4M5tQk/Uqj5ldkyT/m4DflUh+PuHJGNudpHMIUz8SzTSz0h7juj3qcBxwe4nkZWY2oLrqUKI+Hdn6qS4bzaz7tuQbR3NUakRHkry2Op9KUxv62DnnnHPOuermAQ9XK1TkwrY6L9K29wV3DGxUW3CjlDpMAKo8WFTBOkwlLIpZK5jZQqCyi33WOrWhj51zO65Upq8455xztZFPaXHOOeecc84551yd4wEP55xzzjnnnHPO1Tke8HDOOeecc84551yd4wEP55xzzjnnnHPO1Tke8HDOOeecc2XasGED3bp1o3PnzrRv356RI0cCMHjwYDIyMsjIyCA9PZ2MjLDe808//cTtt99Ox44d6dy5M1lZWUV53XTTTey7776kpaXVxKE455yrR/wpLc4555xzrkyNGzdm+vTppKWlkZ+fT+/evenbty/PPvts0TbDhg2jWbNmADzyyCMALFy4kBUrVtC3b1/mzJlDgwYNOOGEE7jssss48MADa+RYnHPO1R8+wsO5ckjaQ1J2/PmPpK8S3lvC62xJN5SRz1WSdtnGuuRKarGNeaRLyinls99JWiRps6Su5eSTIen4balLOfk3l3RJOdukS/qv7VWHJOXlVVdZ25ukTEmvxtcnFp67kh6XdGrN1s45V9tIKhqRkZ+fT35+PpKKPjcznnvuOU4//XQAPv74Yw499FAAWrZsSfPmzfnwww8B6NGjB3vttVc1H4Fzzrn6yAMezpXDzFabWYaZZQAPAXcnvF9b+Dr+jCkjq6uAbQp4VIMcYCDwTgrbZgDbLeABNAfKDHgA6UC1BTzqKjObXM6565xzFBQUkJGRQcuWLTnmmGPo3r170WczZsygVatWRaM2OnfuzMyZM9m0aRPLli1jz7k1DwAAIABJREFU7ty5fPHFFzVVdeecc/WUT2lxrhpIugLYG3hL0irgQaCHmV0t6UrgSjNrI2l/4Akz611GdpdLOgFoBPzOzD6V1A0YCzQF1gPnmNliSe2BCcDOhADnKUA+0FDSI8DhwFfASWa23sw+ifUt73h2Bm4BmkrqDdwGDAeOAH4AVgF/MLMnJT0FPAG8BYwBMoHGwP1m9nDM71pgUEx/ycxGxm33l5QNvG5m1yapyhjg4LjNE4RgzeVmlh3znQlcHNP3B34B7AvcYWaPlFF2ecefBvwD+DmhH4ab2T8kpQP/At4t2baSDgP+BqyNn/c1sw6Szga6mtllMe9XgTvNLEvSg8BhhH59obBucWTNXbGdPwLamFl/SbsC9wIdCX/fR5nZP1I4nmJ1SEgfHdvrXGBYKu0k6ULgQoAWLfZkRMdN5RXv6qhWTWGY93+dkLj+xtixY8nLy+Pmm2+mbdu27LfffgDcfffddOvWrWjb/fffn2bNmtG2bVtatWpF27Zt+eSTT4rlVVBQUOy9q3vy8vK8j+sx739XG84BD3g4t22axovtQreZ2bMlNzKzeyRdDfQxs1WS/h9QeAF/BLBa0i+A3sCMcspcZWaHxuke1wDnA58CR5rZJklHA38mBDeGAuPM7OkYpGgItAIOBE43swskPRe3/XuqB21mP0kaQfEL9T5AL+DfwOfxuJ4EehCCDucBP5jZYZIaAzMlTYt1ORDoBgiYLOlI4AagQxxJU5obgGvMrH+sw7fA2cBVkg4CGpvZAkkDgU6xLrsC8yS9BnRIVraZlTfCZQMwwMzWxClGH0iaHD8rrW0nABea2XuSUh1NcZOZfSupIfCmpE7AEuBhQn8vkzQxcXtgupmdK6k5MFvSG2a2NsXyiki6A2gGnAMcQ4rtZGbjgfEArdscYH9d6P/M1FfDOm7C+79uyD0jc6u0uXPnsnr1as455xw2bdrE4MGDmTt3Lvvss0/RNg0bNiQzM+x7+OGHM3DgQNq1a5f0c1c3ZWVleR/XY97/rjacAz6lxblts77ElJatgh3JmNl/gDRJuxHuoD8DHEkIEpQX8Hgx/p5LmNIB4cL0+bg2x91A+5j+PvBHSdcDvzSz9TF9WeEoiBL5bIsZhGM4kjCCpWMM4nxrZnnAscBZMUA0C9iDcBF9bPyZRxit0DamV8bzQH9JjQijEh5P+OwfcRTLKsJok27bULaAP0taALxBGDnSKn62VdvG4MNuZvZeTH8mxeMZJOmjWL/2QLtYx8/NbFncJjHgcSxwQ2zjLKAJ0DrFshLdDDQ3s4vMzKjaPnLO7YBWrlzJ999/D8D69et54403aNu2LUDR68Rgx7p161i/PvyT8/rrr7PTTjsVC3Y455xz1cFvvThXc94n3D1fTAgWnAv0JEwdKMvG+LuALd/h0cBbZjYgTqvIAjCzZyTNAvoBUyWdTxh9sTEhvwLClIlt9Q5wKeEC+yZgAHAqWwI4Ikw3mZq4k6TjCCNjHi6Rnl7RCpjZOkmvAycRpl8kLrxqJTePddqq7BScAewJdDGzfEm5hOACJG/bsuYIbaJ48LkJgKT9CCN4DjOz7yQ9Hj8rKy8Bp5jZ4tQPJak5QBdJu5vZt1S+nZxzdcTy5csZMmQIBQUFbN68mUGDBtG/f38A/ud//qdosdJCK1as4KKLLmLXXXflF7/4BU899VTRZ9dddx3PPPMM69atY5999uH8889n1KhR1Xk4zjnn6gkPeDhXfX4EdiOsuwAhQHBL/JkH9CGMGPmhEnk3I6wXAWFKBwCS2hBGA9wTX3ciBDyqQuHxAGBmX8TpHTub2eeS3iVcsBeuCzEVuFjS9BgkOCjWeSowWtLTZpYXR4Xkl8w/lTpEjwKvADPixXqhkyTdRpjSkkmYDrM+WdlmtqKccpsBK+Jx9AF+WdbGMWDxo6QeZvYBcFrCx7nAJZIaEEaKdIvpPyOs9/GDpFZAX0Ig61OgjaR0M8sFBifkNZWwxsvlZmaSDjGzeeUcSzJTYl6vSTqWUvoohXZyztURnTp1Yt685H9OHn/88a3S0tPTefLJJ5MOZb7jjju44447qriGzjnn3NZ8Sotz26ZpicfSlrU2w3jgX5Leiu9nEKazvGNmBcAXhMUsK+MO4La4SGfDhPTBQE6c4tCWsKZGqSQNkPQlYaTJa5KmlrH5W0C7eNyFF92zCGtMQDi+X7DlmB4FPgY+ilNvHgZ2MrNphCke70taCLxAmP6xmrDOR46kv5RShwXAJknzJf0BwMzmAmsIa2Ykmg28BnwAjDazr0sru6w2ip4Gukr6kDDa49MU9jkPGC/pfcKIicLA1kxgGbAQuJMwZQQzm08IhC0CHovbEaclXQJMiUGlbxLyGk1YRHVBbOPRKdQrKTN7HngEmEzoy8q0k3POOeecczVGYXq2c87VDZL2JoyEaGtmm2PaKCDPzO6swXqlxbVMkHQDsJeZXbkteSk8Tud+YKmZ3V2F1a0SrdscYA0Gjavparga4ouW1h25Y/pVar/asFidq1l+DtRv3v+uus4BSXPNrGuyz3yEh3OuzpB0FmGUyU2FwY5apF8cDZNDWJz21m3I64I4amcRYXqNr63hnHPOOedcCX7rxbkqJuklYL8SydeXXKxze+dRVeKioreXSF5mZgOqsQ4dgadKJG80s+6JCWb2JEmm7ZjZqAqUtQfwZpKPjorTbColPsEnpaf4pJDX3YSn8ZSrNvSfc84555xzNcEDHs5Vsaq4kKxNF6MxyFLtgZYSdVgIZFRTWaurq6zqUBv6zzm346js9BXnnHOuNvIpLc4555xzzjnnnKtzPODhnHPOOeecc865OscDHs4555xzzjnnnKtzPODhnHPOOeecc865OscDHs4555xzrsiGDRvo1q0bnTt3pn379owcORKAwYMHk5GRQUZGBunp6WRkhPWdV69eTZ8+fUhLS+Oyyy4rltfcuXPp2LEjBxxwAFdccQVmVu3H45xzrv7yp7Q455xzzrkijRs3Zvr06aSlpZGfn0/v3r3p27cvzz675cnaw4YNo1mzZgA0adKE0aNHk5OTQ05OTrG8Lr74YsaPH0+PHj04/vjjmTJlCn379q3W43HOOVd/bZcRHpL2kJQdf/4j6auE95bwOlvSDdujDknqNErSNfH1LZKOrkQeZ0vau+prV5R/pqTDy9nmZEnttlcdSpR1tqT7qqOs2kbSUElnVXOZXSXdE183lvRG/I4MlvRoRfo9nkuvlvF50fchhbz2lvRCqmVXFUn/lNQ8vr5C0ieSnpZ0YkX/bkjKldSilM/SJeUk+6yU7Y+QtCj2TdPy8iyvL2pSYrtIei/+rrX1dc5VD0mkpaUBkJ+fT35+PpKKPjcznnvuOU4//XQAdt11V3r37k2TJk2K5bN69WrWrFlDz549kcRZZ53Fyy+/XH0H4pxzrt7bLiM8zGw1kAHhwgrIM7M74/s8M8vYHuWmysxGVHLXs4Ec4Ouqq00xmUAe8F4Z25wMvAp8vJ3q4AAze6g6y5O0k5l9CHwYkw4BGiV8V55Nvuf2Z2ZfA6dWV3kK/6uWmR2fkHwJ0NfMlsX3k6urPkmcAdxpZhNqsA5VzszKDLY65+qXgoICunTpwmeffcall15K9+7diz6bMWMGrVq14sADDywzj1WrVrHPPvsUvd9nn3346quvtludnXPOuZJSGuEhaX9JjePrzHi3tfn2rVrR3cc/S3pf0oeSDpU0VdL/ShqasN21kuZIWiDpTwnpN0laLOkN4FcJ6Y9LOjW+HhH3zZE0Xom3MIrX5VSgK/B0vLP7a0kvxs9OkrRe0s6Smkj6PKbvL2mKpLmSZkhqG9P3lDQpljtHUi9J6cBQ4A8x/yOS1OFw4ETgL3Gb/SV9lPD5gZLmJrTd7ZJmx58DSis7xb44QdIsSfPiyINWMX2UpMckZUn6XNIVCfvcLOlTSa9LmqgtI2yyJHWNr1tIyo2v02M7fRR/Do/pDSQ9EO+qvxrv/Bf2XxdJb8c2nipprzKO4YJ4zPNjG+xSxraJI4KukPRxPL/+p5TtG8Q2b56Q9pmkVqW1eSxjvKRpwJPxu/WqpJbA34GMhH5ObLNj43fiI0nPS0qL6b+N7f0uMLCcLgXoLGm6pKWSLiijLRJHK7SP51N2bI+k/9uN594lJdpzWHy91fc1lvGJpAeAj4B9Y3u2kPQQ0AaYLOkPShh5VEbb7iFpWjxfHwaSfq8T7CTpiVinF0o7NySdDwwCRiiMNpGkvyj8/VgoaXBZhUjaXdLLsZwPJHWK6QslNY/5rVYcXSTpKUlHp9rucZ+X4/dhkaQLyznuxP3ykqQdFtuwTUW+a865HV/Dhg3Jzs7myy+/ZPbs2cWmqkycOLFodEdZkq3XoeT/zXLOOee2i1RHeEwCuipcNP+NcHf1GeD4MvdKrqmk7IT3t5lZWXevvzCznpLuBh4HegFNgEXAQ5KOBQ4EuhEuaiZLOhJYC5xGuFO+E+Eiam6S/O8zs1sgXFwA/YFXSm5kZi9Iugy4xsw+lLRTrA/AEYSRH4fFsmbF9PHAUDNbKqk78ADwG2AccLeZvSupNTDVzA6OF3ZFo2GS1OE9SZOBV83shVjnHyRlmFk2cE5CnQDWmFm3ePE0Nh7bVmUDBycrr4R3gR5mZvGi7zpgWPysLdAH2A1YLOlBoDNwCuW3f6IVwDFmtiFe0E0kBJkGAulAR6Al8AnwmKRGwL3ASWa2Ml5s/jdwbin5v2hmjwBIuhU4L+5fnhuA/cxso0oJ9JnZZkn/AAYAE2J/55rZN5KeofQ27wL0NrP1kjJjXitiG19jZv1jfYm/WwDDgaPNbK2k64GrJd0BPEI4vz4jtREhnYAewK7APEmvxdEcZRkKjDOzpyXtDDQsZbv/IZxzD8T3g4DflvF9/T9CUPIcM7sk8ZjNbKik3wJ9zGyVpLMTyintfB4JvGtmt0jqB5R34f8r4DwzmynpMcKIkq2+h2b2qKTexO+gpFMIo9k6Ay2AOZLeKaOcPwHzzOxkSb8Bnoz7zyT8bfs38Dnhb8qThP65GLiN1Nod4Fwz+1Zhus0cSZPiqLsKUQg43gucBCwnBOHK/a7FIMuFAC1a7MmIjpsqWrSrI1o1hWHe/zucrKysrdLS09O5//77GTx4MAUFBTz77LM8/PDDW2376aef8tVXXxWl77LLLixZsqTo/ZtvvllqGa5uysvL8/6ux7z/XW04B1INeGw2s02SBgBjzexeSfMqWeb6Ck5pKRy6vhBIM7MfgR8lbYgXn8fGn8L6pBEuqHYDXjKzdQAxUJBMH0nXAbsAuxMCKVsFPEqK7fGZpIMJF293AUcSLkRmKNx1Pxx4PuFuRuP4+2igXUL6zyTtVl6ZpXgUOEfS1cDgWJdCExN+311W2bFdy7IP8Gy8q7szsCzhs9fMbCOwUdIKoBXQG/iHma0HkFRumwKNgPskZQAFwEExvTfwvJltBv4j6a2Y/iugA/B6PJ6GhAuz0nSIgY7mhPNkagp1AlhAGNnzMlDW5ONngRHABEKwrTDoUFZ/Ty5soxT1ANoBM2N+OwPvE4JOy8xsKYCkv1P+RX5h/6yPbdqNso+PWNZNkvYhBJCWJtvIzOZJaqmw5s2ewHdm9n8KI4CSfV//D/i3mX1QTvkllda2RxJHuZjZa5K+KyefL8xsZnz9d+AKkgQ8kugNTDSzAuAbSW8TAp8Lytj+lFiv6QojUZoBM2Kd/w08CFwo6RfAt2aWJymldo+uiH+rAfYltG9FAx4HEwK2x5rZ15I6kOJ3zczGx31p3eYA++tCXxu7vhrWcRPe/zue3DMyWblyJY0aNaJ58+asX7+em2++meuvv57MzEymTJlCx44d+d3vfrf1vrm55OXlkZmZCYTARqtWrWjSpAndu3fn9ttv5/LLLy/63NV9WVlZ3t/1mPe/qw3nQKr/E8mXdDowBDghpjXaPlXaysb4e3PC68L3OxHuEt9mZg8n7iTpKqDMZ59JakK4A93VzL5QWG+kSVn7lDAD6AvkA28QRlc0BK4hTBf6vpTgTgOgZ8kL3UoO85xEuJs9HZhb4k6uJXmdtOwU3AvcZWaT40iEUQmfJfZLAVv6pTSb2DKdKrG9/wB8Q7hb3gDYENNLy0vAIjPrmUL9IfTPyWY2P44SyExxv36Ei9ETgZsltTezZLct3wcOkLQnYa2VW2N6Wf29NsU6FO0GvG5mxcYSxyBRRZ/1V3L7cvc3s2ckzSK0yVRJ55vZ9FI2f4Gw9sf/I4z4gNK/r+lUvC2g7LatSHtUuC0Ki6pAGaVtb8A7wKVAa+AmwkihUwl/Y1Ju9/jdPJrQJuskZVGxv2mFlsf9DiGsWVTR75pzbge2fPlyhgwZQkFBAZs3b2bQ/2fvzsOrqs6+j39/EBQRigPIA1iMKAiGQAooWpGSIlIURauF+iBFxfJgq4UKqK0Fqb4gtVKFqli0ClLnqohaBwQigzITw6BoK7FAqYgoGAQhcL9/7JVwCCfJSchEuD/XlYt99l57rXsPAfZ91lq7Tx969eoFwDPPPBN3OEtycjLbt29n9+7dTJ8+nbfeeguASZMmcc0117Bz50569uzpb2hxzjlXoRJ9S8u1wLnAGDNbJ+lUom9Bq4I3geu0fx6DpormQJgLXC7pmPCN7yVx9s17ENgS9i9uYsaviXqO5JkLDAXeM7PPgROJvmlfbWbbgXWSfhLikqR2Yb+3gPwX1YeH1Xj1FxuDme0iOgeTiHoWxOob8+d7xbRdnPpA3kxjAxIoPx+4RNGcJnWJHtTyZBMN5YADz3l9YFPoydGf/d325wNXKJonoxH7ExVrgYaSzg3HUktSShEx1QM2haEw/RI4BiTVAL5rZnOIhvHk9Q45iEWDlV8i6u3zQUzyqbTnPJ6FwHnaPydLHUktgQ+BUyWdFsoVP7gaeofrcyLROV1S3A6SmgOfmNlEot5XbYso/gxRT5criZIfUPjva2kVdm7nEq6xpJ7A8cXU0yzvPiI6d/MTbH8u0FdSzZDo6gIsLqZ8XlxdgS1mtt3M1hMNiWlhZp+E9ocTEh4lOO/1iXrTfKNozqBzEjyOgr4i+p0dG+Is6e+ac+4w1rZtW1asWEFWVharVq1i1Kj9c71PmTKFwYMHH7RPdnY2W7duJScnhw0bNnDmmdGLxTp27MiqVav417/+xQMPPOBzeDjnnKtQCSU8zGwNcCvRPAyY2TozG1fKNo/Rga+lLW09ebG9RTSfyHuSVhI9WNUzs+VEQwoyiXpBzIuz71dE8x6sJOrKX9wD3xSieUPyXke5iGj4Rt6Y/Swgy/bP0tUPGCjpfaKhMr3D+l8RzYmSJWkN0bwIEA2luVyFTFoaPAOMUDSRYN7D7ZNE3xK/VaDs0eFb4SFEvSeKars4o4mG58wDthRX2MyWED2YvQ+8SPT2kW1h873ADYpegxn7qtCHgAGSFhINZ8n7xv8FYAPRPCl/ITrv28xsN9HD9B/COc4kGkZUmJFh35lECYJE1AT+Fu6tFUTzRXxVRPlngas5cA6N0p7zg4TE2jXA05KyiBIgrULiaxDwmqJJSz9NoLrFwGuhjrsSmL8DouTZKkXz8LQimmeisFhXEyWZNprZprAu7u9rAu0WprBz+3ugi6JJfS8kGjJTlA+I7r0soqFtkxJs/yWi3/v3iXpZ3WJm/y2i/Oi8eIFxHJg8XAR8FJbnAU3Zn3hJ9Ly/QTQBaxZwF9G1LRUz+4woUfwgUU+PkvyuOeecc845V+kUbwbtgwpJlxA9pB5lZqeGb1HvNLNLyztAVzxFbxOpb2YjY9ZlEw3VKTY5UY5x1Q3zD9QhSgoNComoQ6nrRKIH9fOKebB0zlWyZs1Ptxp9JlR2GK6S+Bweh6fscRcXXyhBVWHstqtcfg8c2fz6u4q6ByQtM7OO8bYl+j+R0UQTGmYAmFlmGNbiKpmkl4DTiN7OUdVMlnQm0dChqaVNdgSvKpqk9iii3gie7HDOOeecc845V6hEEx65ZratwLjLkk6QWKjw0F4wgXKrmSX6Fo0yJelBoldExppgZgXnyCjPGG4HCk6B/ryZjYldYWaXE4eZJZegrWuJhr3EWmBmv0y0jkJi+N9D2b9AXV0TLVuS65foeS6wT7mcr/JQklglpQLTCqz+1sw6FVH/icCsOJu6leZVqOWppLFWtb+XYpXiWBax/y1Refqb2cryiM8555xzzrmqINGExypJ/wvUlNSCaNz8u2UVRGEP7ZWlKjy4hgfuQh+6y7itxzl4wtPDVkmuX2nO8+F0vkoSa3j4LdGEquHh+lAmYa0wJY21qv29FKsUx1Jo0so555xzzrnqKtGEx01Er0r8lmjCwTfZ/8pN55xzzjlXycpy/g3nnHOuOig24SGpJjDDzC4gSno455xzzjnnnHPOVWnFvpbWzPYC30iqXwHxOOecc84555xzzh2yRIe07AJWSpoJ7MhbaWa/KpeonHPOOeecc8455w5BsT08gteAkcBcYFnMj3POOeecqwJ27drF2WefTbt27UhJSeGOO+44YPu9996LJLZs2QLA4sWLSUtLIy0tjXbt2vHSSy/ll929ezeDBg2iZcuWtGrVihdeeKFCj8U555wrCwn18DCzqeUdiHPOOeecK72jjz6a2bNnU7duXfbs2UPnzp3p2bMn55xzDuvXr2fmzJk0a9Ysv3ybNm1YunQpSUlJbNq0iXbt2nHJJZeQlJTEmDFjOOmkk/joo4/Yt28fW7durcQjc84550onoR4ektZJ+qTgT3kHV51IOlFSZvj5r6SNMZ8tZjlT0m2VHW9JSTpf0uoQ/zEl2O8fko4rz9jKkqTjJP2ihPtMkXRlomUkDZVUp5TxHbBveZ5fSWmSLiqPukP9xZ5rScnhldkVQlJORbVV3iR1lfRqWL407++dRO5X51zVJIm6desCsGfPHvbs2YMkAH79619zzz335H8GqFOnDklJ0Xdfu3btOmDbY489xm9+8xsAatSoQYMGDSrqMJxzzrkyk+iQlo7AWeHnfGAi8LfyCqo6MrMvzCzNzNKAh4H7Yj7vyFsOP+MqOdxChbf2xNMPuDfEvzOBeiSphpldZGZflW2U5eo4oEQJj1IYCpQq4VFw33I+v2lAuSU8SOxcJwMVlvCorsxsRlX+e8c5l7i9e/eSlpbGSSedRPfu3enUqRMzZsygadOmtGvX7qDyixYtIiUlhdTUVB5++GGSkpL46qvon42RI0fSvn17fvKTn/DZZ59V9KE455xzhyyhhEd4WM/72Whm9wM/LOfYXBySRklaImmVpMmK/Trm4LIZkjqG5QaSssNyiqTFoTdGlqQWYf3VMev/kpfckJQj6U5Ji4Bz47RzPdAHGCXpybBuRIgzS9Lvw7pkSR9IeghYDnxXUnaILW/bI6GnyFt5PUUknRXqeU/SHyWtKuKYa0q6V9LKsM9NYX03SSvC+sckHR3WZ0tqEJY7SsoIy6NDuYzQoylvgt5xwGnhHP2xkBgk6QFJayS9BpwUs62DpHckLZP0pqTGBfb9FdAEmCNpTlg3SdLScF5+X8Sxx9s39vx+KOnRcO88KekCSQskfSzp7FD+2HDcS8L56l1IW0cBdwJ9w7noG87tceH4v5D0s1B2WmirZrh+effF/8XUd9D9ksi5DmXOD2V+LWmepLSYehdIahuu5zRJs8Px/ryYtoskqa6kWZKWh+PuHdaX+D6WdI2kB2LqflVS17Ac99pLuihcz/mSJmp/T42Erl+c4zkghpj1dynq8VGjNOfJOVfxatasSWZmJhs2bGDx4sVkZWUxZswY7rzzzrjlO3XqxOrVq1myZAl33303u3btIjc3lw0bNnDeeeexfPlyzj33XIYPH17BR+Kcc84duoTm8JDUPuZjDaIeH/XKJaIj0zGSMmM+321mzxZS9gEzuxOiB0mgF/BKCdsbDEwwsyfDg2tNSa2BvsB5ZrZHUVKiH/AEcCywysxGxavMzB6V1Bl41cz+LulCoAVwNiBghqQuwL+BM4BrzewX4Rhiq2oBXGVmP5f0HHAFUU+ix4FBZvaupOK+hR4EnAp8z8xyJZ0gqTYwBehmZh9JegK4Abi/mLpaAelE9/paSZOA24A2oWdOYS4Px5kKNALWAI9JqgX8GehtZp9L6guMAa7L29HMJkq6GUg3sy1h9e1mtlVRAmqWpLZmllWw0UL2jXU68JNwjpYQ9YzoDFwK/Ba4DLgdmG1m1ykaCrNY0ttmtiO2IjPbLWkU0NHMbgSQlA6cB3wKfELUG+wJ4Byi8z0Q2GZmZylKOC2Q9BbRdY93vyRyrm8DhptZrxDDVuAaYKiklsDRZpYl6cdA2xDLscAKRcmoNvHaNrO5RbQJ0ZurLjez7YoSZgslzQjbyuI+znPQtQc+Av4CdDGzdZKeji1PAtcvEZLuAeoD1wLdSfA8SRpEdI/RoEFDRqXmlrRpV000OgaG+fWvUBkZGQd8Tk5O5v777+ejjz7ijDPOAODzzz8nJSWFSZMmccIJJxxQfs+ePUydOpWWLVtSu3Ztjj/+eDIyMjj55JOZOHHiQfUXJycnp8T7uOrF74Ejm19/VxXugURfSzs+ZjkXWEf0jb4rGzuLeaiLlS7pFqJhCycAqyl5wuM94HZJJwMvmtnHkroBHYAlIQlxDLA5lN8LlGR69gvDz4rwuS7Rw9K/gU/NbGEh+60zs7zEzzIgOTy01TOzd8P6p4iSPIW5AHjYzHIBwsNiu1D3R6HMVOCXFJ/weM3MvgW+lbSZKHmRiC7A02a2F/iPpNlh/RlED9gzwzmuCWxKoL4+4SEyCWgMnAkclPBIwDozWwkgaTUwy8xM0kqioSEQXbdLJeV9lVcbaAZ8kED984iO/VNgEjBIUlNgq5nlhERYW+2fH6I+0X1R1P1SUs8DIyWNIEokTYnZ9nIYbrVTUQ+Ys4kSPvHaLi7hIWBsSMzsA5qy//4oi/vrvAZcAAAgAElEQVQ4T7xrXwP4xMzWhTJPExIMHNr1izUSWGRmgwDCtUvoPJnZZGAyQLPmp9v4lYn+M+Oqm2Gpufj1r1hLLkyhVq1aHHfccezcuZORI0dy66238thjj+WXSU5OZunSpTRo0IB169bx3e9+l6SkJD799FM+++wzrrjiCho0aEDv3lEHsa5duzJlyhTOOussunbtWqJ4MjIySryPq178Hjiy+fV3VeEeSPR/IgPN7IBJSiWdWg7xuCKEngoPEX2rvl7SaKIHmsLksn/YUn45M3tK0fCUi4E3FQ1JETDVzH4Tp55d4eE94VCJeqn8pUD8yUBR3zR/G7O8lyjpUuiQnSLatjjrChP3HBUST0n+514whrw4VpvZQcOCChN+z4YDZ5nZl5KmxIkzUbHHsy/m8z72H5uAK8xsbSnqn0uUSGpG1NPgcuBKokRIXt03mdmbsTtJ6kHh90uJmNk3kmYCvYmSsh1jNxcsTiH3agL6AQ2BDqFHVDb7r0tJ7+PYe5C8eoq49kXVdSjXL9YSoIOkE8xsK6U/T865CrRp0yYGDBjA3r172bdvH3369KFXr8Jzq/Pnz2fcuHHUqlWLGjVq8NBDD+VPTvqHP/yB/v37M3ToUBo2bMjjjz9eUYfhnHPOlZlEJy39e4LrXPnKe6DaIqku0cNkUbKJem0QW1ZSc6JviCcCM4i6+s8CrpR0UihzgqRTShnnm8B1IUYkNc2rt6TM7Evga0nnhFU/LWaXt4DBkpJC2ycAHxJ9y356KNMfeCcsZ7P/HF2RQEhfU/xwrrnATxXNWdGYaFgMwFqgoaRzQ2y1JKUU08Z3iJJE2yQ1AnqWQXxFeRO4SaELiqTvJdqWma0HGgAtQoJ0PtEDe17C403ghjC0B0ktJR1L4fdLIscSr8yjRBMrLwkP63l6S6ot6USgK9FDfWnv1frA5pDsSAeK/F0p5j7OBtLCPBnfJep5AoVf+w+B5jEJob4xdZXk+hXlDaL5UV6TVI8y/J12zpWftm3bsmLFCrKysli1ahWjRh08EjU7Ozs/qdG/f39Wr15NZmYmy5cv57LLLssvd8oppzB37lyysrKYNWvWAa+zdc455w4XRX5jLakVkALUD2Pg83yH0n/L7A5WcA6PN8zsoFfTmtlXkh4BVhI9JC0ppt57geck9Qdmx6zvC1wtaQ/wX+DOMPTjd8BbkmoAe4i+rf+0pAdjZm8pmhPkvfDclQNcTfRtd2kMBB6RtAPIALYVUfZRoCWQFY7vETN7QNK1wPMhEbKE6E05AL8H/irpt8Ci4gIxsy8UTYS5CnjdzEbEKfYS0aS+K4nmW3gn7Ls7DOeYKKk+0e/f/UTDkmJNBl6XtMnM0iWtCGU+ARYUE+IB+xZ3PHHcFWLKCg/N2RQ+9GIOcFu4d/PmnVlENFQHokTH3USJD4iuTTKwPNT9OXBZYfeLmf0rgXOdBeRKeh+YYmb3mdkySduJ5syItRh4jagHyl1m9h+iIUfx7tXNFO1J4BVJS4FMoiREcQq7jxcQDRNcCawimtAXM3s/3rU3s52KXtf7hqQt4bjylOT6FcnMng/JjhlEb+N5ipKfJ+ecc8455yqNzOL1vA8boxn+LyOa1HBGzKavgWdixqM7V24k1TWznLB8G9DYzIZUcliuipLUhCih0MrM9oV1o4EcM7u3EuMqs/s4r66Q1HgQ+NjM7ivDcMtEs+anW40+Eyo7DFdJfA6Pipc97uLKDuEAVWHstqtcfg8c2fz6u4q6ByQtM7OO8bYV+T8RM3sZeFnSuWb2XrlE51zxLpb0G6L79VOit3A4dxBFr8IdA9ycl+yoQsryPv65pAHAUUQTifrcGs4555xzzhWQ6FcvKyT9kmh4S+zkl9cVvos7FJJeInq9aqxbC074GMo+SPQ60FgTzKzMZxgrSVxlJQyVOOA1vWGiyz8UKLrOzC4vrzgKkpQKTCuw+lsz61QBbVfYdTiczrWZPUH0KlwKrB9dgrZOJJrTpqBuZvZFovXEieGg+/gQ6roPSKhHR1W4fs4555xzzlWGRBMe04jGqPcA7iR6Q0FJX3PoSqAkDyNm9svyjKVAW1XiISk82JdbkiXBGFYCib5OuKzbrrDrcKSd65DUqJTrWh6qwvVzzjnnnHOuMiSa8DjdzH4iqbeZTZX0FP4faOecc865clfV5uZwzjnnDheJvpZ2T/jzK0ltiF7JmFwuETnnnHPOOeecc84dokR7eEyWdDwwkuhtLXWBg1/u7pxzzjnnnHPOOVcFJJTwMLNHw+I7QPPyC8c555xzzjnnnHPu0CU0pEVSI0l/lfR6+HympIHlG5pzzjnnnNu1axdnn3027dq1IyUlhTvuuAOAESNG0KpVK9q2bcvll1/OV199BcCTTz5JWlpa/k+NGjXIzMwE4Nlnn6Vt27akpKRwyy23VNoxOeeccxUh0Tk8phBNUtokfP4IGFoeATnnnHPOuf2OPvpoZs+ezfvvv09mZiZvvPEGCxcupHv37qxatYqsrCxatmzJ3XffDUC/fv3IzMwkMzOTadOmkZycTFpaGl988QUjRoxg1qxZrF69ms8++4xZs+K9hds555yrHhJNeDQws+eAfQBmlgvsLbeonKtCJJ0oKTP8/FfSxpjPFrOcKem2IuoZKqnOIcaSLanBIdaRLGlVIdtOkDRT0sfhz+OLqCdN0kWHEksxcR4n6RfFlEmW9L/lFUOc9nIqqq3yJqmrpFfD8qV5966kKZKurNzonHOxJFG3bl0A9uzZw549e5DEhRdeSFJSNDr5nHPOYcOGDQft+/TTT3PVVVcB8Mknn9CyZUsaNmwIwAUXXMALL7xQQUfhnHPOVbxEEx47JJ0IGICkc4Bt5RaVc1WImX1hZmlmlgY8DNwX83lH3nL4GVdEVUOBQ0p4VIDbgFlm1gKYFT4XJg0ot4QHcBxQZMKD6G1RFZbwqK7MbEYx965zrpLt3buXtLQ0TjrpJLp3706nTp0O2P7YY4/Rs2fPg/Z79tln8xMep59+Oh9++CHZ2dnk5uYyffp01q9fXyHxO+ecc5Uh0YTHzURvZzlN0gLgCeCmcovKuWpG0q+IhoTNkTRHUh9Jfwrbhkj6JCyfJml+MdXdJGm5pJWSWoX9zpb0rqQV4c8zwvoUSYtD75MsSS1CHTUlPSJptaS3JB0T1vcGpoblqcBlhRzPUcCdQN9Qd98Qz3GKfCHpZ6HsNEkXSKop6Y+SloRY/i+mvhEx638fVo8j+jsnU9IfCzkX44DzQ5lfS5onKS2m3gWS2koaHeKYHXqv/LyYtoskqa6kWTHXoXdYnyzpg3jnVtJZoY33wnlYFdZfI+mBmLpfldQ1LE+StDTU9fuYMhdJ+lDSfEkTY3pqHCvpsXA8K/LiSuB4DoghZv1docdHjdKcJ+dc2alZsyaZmZls2LCBxYsXs2rV/o56Y8aMISkpiX79+h2wz6JFi6hTpw5t2rQB4Pjjj2fSpEn07duX888/n+Tk5PweIs4551x1VOS/cpKamdm/zWy5pB8AZwAC1prZngqJ0Lmq7RhJmTGf7zazZwsWMrOJkm4G0s1si6T/AUaEzecDX0hqCnQG5hXT5hYzax+GewwHrgc+BLqYWa6kC4CxwBXAYGCCmT0ZkhQ1gUZAC+AqM/u5pOdC2b8BjcxsU4h5k6ST4gVgZrsljQI6mtmNAJLSgfOAT4FPwnE9AZwD3AAMBLaZ2VmSjgYWSHorxNICOJvo75cZkroQ9S5pE3rSFOY2YLiZ9QoxbAWuAYZKagkcbWZZkn4MtA2xHAuskPQa0CZe22Y2t5hrsAu43My2KxpitFDSjLCtsHP7ODDIzN6VlGhvitvNbKukmsAsSW2J5lD6C9H1Xifp6djywGwzu07SccBiSW+b2Y4E28sn6R6gPnAt0J0Ez5OkQcAggAYNGjIqNbekTbtqotExMMyvf5nIyMg44HNycjIPPvggffv25Y033uCVV15h/PjxvPPOOweUe/DBB+nUqdMB+9erV48//OEPALzyyiscffTRB9VfVnJycsqtbnd48HvgyObX31WFe6C4tP50oH1YftbMrijneJw73Ows5oE8LjP7b+glUA/4LvAU0IUoSfBiMbvnbV8G/Dgs1wemhh4cBtQK698Dbpd0MvCimX0sCWCdmWXG1JNc0mOIY144hk+BScCgkMTZamY5ki4E2mr//BD1iR6iLww/K8L6umH9v0sRw/PASEkjgOuIJlzO87KZ7QR2SppD9PDeuZC2i0t4CBgbEjP7gKZEiSSIc25D8qGemb0b1j8F9ErgePqEBEIS0Bg4k6hn3idmti6UeZqQYAjHcqmk4eFzbaAZ8EECbcUaCSwys0EA4doldJ7MbDIwGaBZ89Nt/Er/9vhINSw1F7/+ZWPJhSnUqlWL4447jp07dzJy5EhuvfVWdu3axYwZM3jnnXfy5+XIs2/fPq6++mrmzp1L8+bN89dv3ryZk046iS+//JKhQ4fy3HPP0bJly3KJOyMjg65du5ZL3e7w4PfAkc2vv6sK90Bx/xNRzHLzQks550rjPaJvz9cSJQuuA84FhhWz37fhz73s/x2+C5hjZpdLSgYyAMzsKUmLgIuBNyVdT9T74tuY+vYCeUNaPpPUOPTuaAxsLsHxzAV+SfSAfTtwOXAl+3usCLjJzN6M3UlSD6KeMX8psD65BG0DYGbfSJpJNDSnD9AxdnPB4iGmg9pOQD+gIdDBzPZIyiZKLkD8cysKl8uBwwtrA0g6lagHz1lm9qWkKWFbUXUJuMLM1iZ+KHEtATpIOsHMtlL68+ScKwObNm1iwIAB7N27l3379tGnTx969erF6aefzrfffkv37t2BaOLShx9+GIC5c+dy8sknH5DsABgyZAjvv/8+AKNGjSq3ZIdzzjlXFRSX8LBClp1zJfc1UA/YEj7PJZoH406ib87TiXqMlGZC4PrAxrB8Td5KSc2JegNMDMttiRIehZkBDCCaG2MA8HIRZfOOBwAzWx+GdxxlZp8omotkOHBjKPImcIOk2SFJ0DLE/CZwl6QnQ0+QpsCegvUnEkPwKPAKMC88rOfpLeluoiEtXYmGw+yM17aZFZfoqQ9sDseRDpxSVOGQsPha0jlmthD4aczmbOAXkmoQ9RQ5O6z/DrAD2CapEdCTKJH1IdBcUrKZZQN9Y+p6k2iOl5vMzCR9z8xWUHJvhLpeC7074l6jBM6Tc64MtG3blhUrDv5V/uc//1noPl27dmXhwoUHrX/66afjlHbOOeeqp+ImLW0nabukr4m6om/P+yxpe0UE6FwVd4wOfC1tUXMzTAZeD8MpIOr58F1grpntBdYDxU1YWph7gLsVTSpcM2Z9X2BVmGekFdGcGkUZB3SX9DHRvA1FHc8c4Mxw3HkP3YuI5piA6Piasv+YHgXWAMvDhJ1/AZLM7C2iIR7vSVoJ/J1o+McXRPN8rFLhk5ZmAbmS3pf0awAzWwZsJ5ozI9Zi4DVgIXCXmf2nsLaLOkHBk0BHSUuJent8mMA+A4HJkt4j6jGRl9haAKwDVgL3AsvDcbxPlAhbDTwWyhGG5fwCeCMklT6LqesuouFMWeEc35VAXHGZ2fPAI0RJsHmU7jw555xzzjlXaWTmHTecc9WHpCZEPSFamdm+sG40kGNm91ZiXHXNLCcs3wY0NrMhh1KXoglZHgQ+NrP7yjDcMtGs+elWo8+Eyg7DVRKfw6PsZI+7uLJDKJWqMHbbVS6/B45sfv1dRd0DkpaZWcd42xJ9La1zzlV5il6Fu4jo7Sb7KjueAi4OvWFWEU1O+/8Ooa6fh147q4mG1/jcGs4555xzzhXgX704V8YkvQScWmD1rQUn6yzvOspKmFT0DwVWrzOzyyswhlRgWoHV35pZp9gVZvYEcYbtmNnoErR1IjArzqZuYZhNqYTXFR/0yuJS1nUfkFCPjqpw/ZxzzjnnnKsMnvBwroyVxYNkVXoYDUmWCk+0FIhhJVDi1/+Wsq0vKqqtilAVrp9zzjnnnHOVwRMezjnnnHMJOlzn03DOOeeORD6Hh3POOeecc84556odT3g455xzzjnnnHOu2vGEh3POOeecc84556odT3g455xzzjnnnHOu2vGEh3POOedcCaxfv5709HRat25NSkoKEyZMACAzM5NzzjmHtLQ0OnbsyOLFiwFYvHgxaWlppKWl0a5dO1566aX8up599lnatm1LSkoKt9xyS6Ucj3POOVdd+VtanHPOOedKICkpifHjx9O+fXu+/vprOnToQPfu3bnlllu444476NmzJ//4xz+45ZZbyMjIoE2bNixdupSkpCQ2bdpEu3btuOSSS9i2bRsjRoxg2bJlNGzYkAEDBjBr1iy6detW2YfonHPOVQvew8M55w5jkkZLGi7pGklNSrBfV0mvlmdszlVXjRs3pn379gDUq1eP1q1bs3HjRiSxfft2ALZt20aTJtGvZJ06dUhKir5j2rVrF5IA+OSTT2jZsiUNGzYE4IILLuCFF16o6MNxzjnnqi3v4eGcc9XDNcAq4D+VHIdzR5Ts7GxWrFhBp06duP/+++nRowfDhw9n3759vPvuu/nlFi1axHXXXcenn37KtGnTSEpK4vTTT+fDDz8kOzubk08+menTp7N79+5KPBrnnHOuepGZVXYMzjnnSkDS7cDPgPXA58AyYDSwEdgJnGtmO+Ps9yPgfmALsBxobma9JJ0APAY0B74BBplZlqSVwPnAtrDPr83sCUnTgKlm9nacNgYBgwAaNGjYYdT9j5TpsbvDR6Nj4LOD7sLDX2rT+vnLO3fuZMiQIVx99dV06dKFiRMn0q5dO37wgx8wZ84cXn31VcaPH3/A/p9++injxo1jwoQJHHXUUbz77rtMmzaNGjVqkJKSwqZNm7jrrrsq+rDKRU5ODnXr1q3sMFwl8nvgyObX31XUPZCenr7MzDrG2+YJD+ecO4xI6gBMAToR9dJbDjwM9AKGm9nSQvarDXwM/BD4J/AsUCckPP4MbDGz30v6IfAnM0uT9DDwCvAp8DiQaWY/l/Qx8D0zyykq1mbNT7cafSYc+kG7w9Kw1FzGr6x+HUmzx10MwJ49e+jVqxc9evTg5ptvBqB+/fp89dVXSMLMqF+/fv4Ql1jp6en88Y9/pGPHA/9vNnnyZP75z39yzz33lP+BVICMjAy6du1a2WG4SuT3wJHNr7+rqHtAUqEJD5/DwznnDi/nAy+Z2Tdmth2YkeB+rYB1ZvaxRZnuv8Vs6wxMAzCz2cCJkuoD84Au4WcSkCqpKbC1uGSHc9WZmTFw4EBat26dn+wAaNKkCe+88w4As2fPpkWLFgCsW7eO3NxcIOrhsXbtWpKTkwHYvHkzAF9++SUPPfQQ119/fQUeiXPOOVe9Vb+vXpxzrvorbde8wvZTIWXnAr8EmgG3A5cDVxIlQpw7Yi1YsIBp06aRmppKWloaAGPHjuWRRx5hyJAh5ObmUrt2bSZPngzA/PnzGTduHLVq1aJGjRo89NBDNGjQAIAhQ4bw/vvvAzBq1ChatmxZOQflnHPOVUOe8HDOucPLXGCKpHFEf4dfAvwF+BqoV8R+HwKnSjrNzP4FXFWgzn7AXZK6Eg1v2Q5sl9QAOMrMPpE0HxgO3FjWB+Xc4aRz584UNiR42bJlB63r378//fv3j1v+6aefLtPYnHPOObefJzycc+4wYmbLJT0LZBLNrZHX22IK8LCkuJOWmtmuMKHoa5K2APOBNmHzaOBxSVlEk5YOiNl1EVAzLM8D7g77Ouecc845V6V5wsM55w4zZjYGGBNn0wvF7PcG0VweBddvBXoXsk//mOV38bmfnHPOOefcYcL/4+qcc84555xzzrlqx3t4OOdcNSPpJeDUAqtvNbM3KyMe55xzzjnnKoMnPJxzrpoxs8srOwbnqpPscRdXdgjOOeecKwUf0uKcc84555xzzrlqxxMezjnnnHPOOeecq3Y84eGcc84555xzzrlqxxMezjnnnHPOOeecq3Y84eGcc845V4z169eTnp5O69atSUlJYcKECQD07duXtLQ00tLSSE5OJi0tDYDdu3dz7bXXkpqaSrt27cjIyADgm2++4eKLL6ZVq1akpKRw2223VdYhOeecc9Wev6XFOeecc64YSUlJjB8/nvbt2/P111/ToUMHunfvzrPPPptfZtiwYdSvXx+ARx55BICVK1eyefNmevbsyZIlSwAYPnw46enp7N69m27duvH666/Ts2fPij8o55xzrprzHh7OOXeYkzRUUp1S7Dda0vDyiMm56qZx48a0b98egHr16tG6dWs2btyYv93MeO6557jqqqsAWLNmDd26dQPgpJNO4rjjjmPp0qXUqVOH9PR0AI466ijat2/Phg0bKvhonHPOuSODJzycc+7wNxQoccLjUEmqWdFtOlcVZGdns2LFCjp16pS/bt68eTRq1IgWLVoA0K5dO15++WVyc3NZt24dy5YtY/369QfU89VXX/HKK6/kJ0acc845V7ZkZpUdg3POVXuSfgYMBwzIAn4HPAY0BD4HrjWzf0uaArxqZn8P++WYWV1JXYHRwBagDbAMuBq4CbgXWAtsMbP0Qtr/ETAWqBnKdZM0GmgGNA9/3m9mE0P56cB3gdrABDObnBcP8CegBzDMzOYXaGcQMAigQYOGHUbd/0jpT5o7rDU6Bj7bWdlRlI3UpvXzl3fu3MmQIUO4+uqr6dKlS/76++67j6ZNm9KnTx8A9u7dy8MPP8yKFSto1KgRe/fupVevXnTu3Dl/+29/+1vOOussrrzyyoo9oAqSk5ND3bp1KzsMV4n8Hjiy+fV3FXUPpKenLzOzjvG2ecLDOefKmaQU4EXgPDPbIukEYCrwdzObKuk64FIzu6yYhMfLQArwH2ABMMLM5kvKBjqa2ZZC2m8ILAe6mNk6SSeY2daQ8LgQSAfqESVN/sfM9sSUOQZYAvzAzL6QZEBfM3uuuONu1vx0q9FnQulOmjvsDUvNZfzK6jFVWPa4iwHYs2cPvXr1okePHtx8883523Nzc2natCnLli3j5JNPjlvH97//fR599FHOPPNMAK677jrq1q3LxIkTy/8AKklGRgZdu3at7DBcJfJ74Mjm199V1D0gqdCEhw9pcc658vdDouTGFgAz2wqcCzwVtk8DOidQz2Iz22Bm+4BMIDnB9s8B5prZupj287xmZt+G2DYDjcL6X0l6H1hI1NOjRVi/F3ghwXadqzbMjIEDB9K6desDkh0Ab7/9Nq1atTog2fHNN9+wY8cOAGbOnElSUlJ+suN3v/sd27Zt4/7776+4A3DOOeeOQNXjqxfnnKvaRDSUpSh523MJyWhJAo6KKfNtzPJeEv87vKj2D6oz9Ca5ADjXzL6RlEE0tAVgl5ntTbBd56qNBQsWMG3aNFJTU/NfPTt27FguuuginnnmmfzJSvNs3ryZHj16UKNGDZo2bcq0adMA2LBhA2PGjKFVq1b5k6DeeOONXH/99RV7QM4559wRwBMezjlX/mYBL0m6LwwLOQF4F/gpUe+OfkDeXBjZQAfgOaA3UCuB+r8mGpISd0gL8B7woKRTY4e0FFFffeDLkOxoRdRDxLkjWufOnSlsGPCUKVMOWpecnMzatWsPWn/yyScXWo9zzjnnypYnPJxzrpyZ2WpJY4B3JO0FVgC/Ah6TNIIwaWko/gjwsqTFRImSHQk0MRl4XdKmeJOWmtnnYTLRFyXVIBq60r2I+t4ABkvKIprXY2FCB+qcc84551wV4gkP55yrAGY2lWii0lg/jFPuMw7sUfGbsD4DyIgpd2PM8p+BPxfT/uvA6wXWjS7wuU3Mx56F1OPTrTvnnHPOucOCT1rqnHPOOeecc865asd7eDjnXDUiaRFwdIHV/c1sZWXE45xzzjnnXGXxhIdzzlUjZtapsmNwrjxkj7u4skNwzjnn3GHGh7Q455xzzjnnnHOu2vGEh3POOeecc84556odT3g455xzzjnnnHOu2vGEh3POOeecc84556odT3g455xz7rCwfv160tPTad26NSkpKUyYMAGAkSNH0rZtW9LS0rjwwgv5z3/+A8AXX3xBeno6devW5cYbb4xb56WXXkqbNm0q7Bicc845V3E84eGcc865w0JSUhLjx4/ngw8+YOHChTz44IOsWbOGESNGkJWVRWZmJr169eLOO+8EoHbt2tx1113ce++9cet78cUXqVu3bkUegnPOOecqkCc8XLUl6URJmeHnv5I2xny2mOVMSbcVUc9QSXUOMZbzJa0ObTWV9PcS7v/bQ2m/tCRdI+mBIrZfJunMcmw/TdJFxZTpKun75RVDnLZerYi2KoKk0ZKGh+U7JV0QlrMlNajc6Jw7WOPGjWnfvj0A9erVo3Xr1mzcuJHvfOc7+WV27NiBJACOPfZYOnfuTO3atQ+qKycnhz/96U/87ne/q5jgnXPOOVfhkio7AOfKi5l9AaRB9GAH5JjZveFzjpmlJVjVUOBvwDeHEE4/4F4zezx8vrJgAUlJZpZbyP6/BcYeQvsJkVTTzPaWYJfLgFeBNeUUUhrQEfhHEWW6AjnAu+UUwxHBzEZVdgzOlUR2djYrVqygU6dOANx+++088cQT1K9fnzlz5hS7/8iRIxk2bBh16hxSPts555xzVZgnPJwrgqRfAU2AOZK2AJOAc8zsZklDgCFm1lzSacBUM+scp47rgT5Aj/AN+u3Aq2bWRtI1wMVAbeBYSf2AZ4HvEP1+3hC2HyMpE1htZv3itHELsMvMJkq6D2hnZj+U1A241syulnQVUeJEwGtmdmvYNwf4E9ADGCapBfAbYBPwEfBtIefm+8ClwA8k/Q74P+AhM+sgqR2QCZxiZv+W9C8gFTgWeBhoFqoZamYLJB0L/DmUSQJGA68Dd4Zj7wzcbWbPFoghGRgM7JV0NXAT8ATQ0sz2SPoOkAW0AGaGmM4O5/c6M1scr20zezneMRdo+0i5I6cAACAASURBVGzgfuAYYGc4z2vDNb0UqAOcBrxkZreEfQYCtwL/AT4GvjWzGyVNIbon/p53TcysrqS6wMvA8UAt4Hd5sUkaSZRIWw9sAZaZ2b3hXnwQaEiUpPu5mX2YwPEcEENYdwzwEvAC8FQi50nSIGAQQIMGDRmVWlgOz1V3jY6BYWV4/TMyMvKXd+7cyZAhQ7j++utZvnw5AN27d6d79+48+eSTDB8+nGuvvTa//IcffsjGjRvz6/jnP//JokWL6N27NwsXLmTHjh0H1O/KRk5Ojp/XI5zfA0c2v/6uKtwDnvBwR6q8BEKegx6mAUIC4WYg3cy2SPofYETYfD7whaSmQGdgXryGzOzR8MD+qpn9PTykxzoXaGtmWyUNA940szGSagJ1zGyepBuL6ZEyFxgGTCTqEXG0pFp5cUlqAvwB6AB8Cbwl6TIzm06UhFhlZqMkNSZ6sO0AbAPmACsKOa53Jc3gwAf12iHJcD6wFDhf0nxgs5l9I+lR4D4zmy+pGfAm0JooCTTbzK6TdBywGHgbGAV0NLO4sw2aWbakhzmw904GUZJoOvBT4IWQ/AA41sy+L6kL8BjQJl7bkt42sx1FnG+AD4EuZpYbElljgSvCtjTge0TJorWS/gzsBUYC7YGvgdnA+8W0sQu43My2hyEmC8M57xDa+h7R3+PLgWVhn8nAYDP7WFIn4CHgh8W0E09d4BngCTN7QtJYEjhPZjY5xECz5qfb+JX+z8yRalhqLmV5/bP7dQVgz5499OrVi8GDB3PzzTcfVO7UU0/l4osvZurUqfv3zc4mJyeHrl2jOj744AOys7O55ppryM3NZfPmzYwePbrS/1NW3WRkZOSfc3dk8nvgyObX31WFe8D/J+qOVDtLMKQln5n9V1JdSfWA7xIlB7oQPeC/WMpYZprZ1rC8BHgsJCumm1lmEfvFWgZ0CHF9S/QA3DHE9SvgLCDDzD4HkPRkiHs60YP4C6GeTgXKPQu0LMGxvAucF+oeC/yIqEdJXjLoAuDMvPH1wHdCzBcCl+bNJ0HU4yWvF0hJPQrcQnRs1wI/j9n2NICZzZX0nfDgXljbHxTTTn1gaugRY0Q9MPLMMrNtAJLWAKcADYB38q61pOcp/twKGBsSNPuApkAjokTWy2a2M9T1SvizLvB94PmYc3x0MW0U5mXgHjN7Mnwu7XlyrsyYGQMHDqR169YHJDs+/vhjWrRoAcCMGTNo1apVkfXccMMN3HDDDUCUDOnVq5cnO5xzzrlqyBMezpXce0QP0muJHuSvI+qlMayU9eV/Qx4exLsQ9VCYJumPZvZEcRWEHgzZIa53iYZxpBMNqfiAoh+sdxWYt8NKfgj55hElWU4hemC+NdSXN9FnDeDcvAf1PIqezq8ws7UF1ncqaQBhiEyypB8ANc1sVezmgsWJkgoHtZ2Au4A5ZnZ56LWTEbMtdhjQXqK/a0XhcgmTSIdzcVRY349oaEqHmGtcu4i6agBflSaZF8cCoKekp8zsUM6Tc2VmwYIFTJs2jdTUVNLSott87Nix/PWvf2Xt2rXUqFGDU045hYcffjh/n+TkZLZv387u3buZPn06b731FmeeWW5zLTvnnHOuCvG3tDhXvK+BejGf5wLDw58riBIL3+Z9o38oJJ1CNPzjEeCvRMMfAPaEXh9FiY1rHtHcFpnhYXUR0VwbDcJQmauAd+LUsQjoqugNN7WAnxTTZrxzczXwsZntA7YCFxE9PAO8BeQPT5GU92D+JnBTeNhH0vcKqT+RGCCax+Np4PEC6/uG+jsD28I1K6zt4tQHNoblaxIov5joGhwvKYn9w18AsomGqQD0Zn9vkfpE98MeSelEiSSA+cAlYQhRXaIEGWa2HVgn6SfhWBTmUymNUcAXRENioPTnybky07lzZ8ws/xW0mZmZXHTRRbzwwgusWrWKrKwsXnnlFZo2bZq/T3Z2Nlu3biUnJ4cNGzYclOxITk5m1apVBZtyzjnnXDXgCQ93pDpGB76WdlwRZScDr0vKm/Z/HtFwlrmhZ8R6ogfQstAVyJS0guiBeEJMDFlhKEph5gGNgffM7DOi+R/mAZjZJqKJSOcQzRuxPN6Ek6HcaKJeLG8TDY0pyjPACEkrJJ1mZtlh/dzw53yiHgdfhs+/AjpKygpDPQaH9XcRPeRnSVoVPhPiPTNco76FxPAKcHkoc35Y9yTRRJ9PFyj7paR3iSZOHVhM28W5B7hb0gKgZnGFzWwj0TCfRUTndg3RPCkAjxAlQxYTDSvK6/XzJNH5WkrU2+PDUNcSYAbRtXyRaL6UvLr6AQMlvQ+sJkqglNZQoLakeyj9eXLOOeecc65SKPry1znnqg9JVwK9zax/zLoMYLiZLa3EuOqaWU7o4fES8JiZvXSIddUhSjANMrPiElQVqlnz061GnwnFF3TVUplPWjru4jKry1WMqjBZnatcfg8c2fz6u4q6ByQtM7OO8bb5HB7OuWolvBGlJ9FQmqpmdHijS22i4T3TD6GuyZLODHVNrWrJDuecc8455yqbJzycCyS9BJxaYPWtZvZmRdZRTP0nArPibOpmZl+URRuFtHs7B8/n8byZjSmvNuPEcC0wpMDqBWb2y9gVZnZTvP3NrGsJ2upB9BrfWOvM7PJE6ygkhuHFl0q4rv9NtGxVuH7OOeecc85VNE94OBcc6sNsWdVRTP1fAGXxBo6StjsGqNSHYzN7nIMnIS2vtt4kmqSzWqgK18+5WD48xTnnnHMVwSctdc4555xzzjnnXLXjCQ/nnHPOOeecc85VO57wcM4555xzzjnnXLXjCQ/nnHPOOeecc85VO57wcM4551yFWr9+Penp6bRu3ZqUlBQmTJgAwNatW+nevTstWrSge/fufPnllwDs3r2ba6+9ltTUVNq1a0dGRkZ+XU8//TSpqam0bduWH/3oR2zZsqUyDsk555xzVZAnPJxzzjlXoZKSkhg/fjwffPABCxcu5MEHH2TNmjWMGzeObt268fHHH9OtWzfGjRsHwCOPPALAypUrmTlzJsOGDWPfvn3k5uYyZMgQ5syZQ1ZWFm3btuWBBx6ozENzzjnnXBXiCQ/n3BFFUrKkVQmWPV/SakmZko4prj5JXSW9WpbxVjWShkqqU9lxuMNb48aNad++PQD16tWjdevWbNy4kZdffpkBAwYAMGDAAKZPnw7AmjVr6NatGwAnnXQSxx13HEuXLsXMMDN27NiBmbF9+3aaNGlSOQflnHPOuSrHEx7OOVe4fsC9ZpZmZjsrO5g8kmpWYvNDAU94uDKTnZ3NihUr6NSpE5999hmNGzcGoqTI5s2bAWjXrh0vv/wyubm5rFu3jmXLlrF+/Xpq1arFpEmTSE1NpUmTJqxZs4aBAwdW5uE455xzrgpJquwAnHOuEiRJmgp8D/gI+JmZfRNbQNL1QB+gh6QLgKuBe4CegAH/z8yeLawBSScAjwHNgW+AQWaWJWklcD6wDdgC/NrMnpA0DZgKzAHGAV2Bo4EHzewvkroCdwCbgDTgzELa/RkwPMSYZWb9JZ0SYmkIfA5ca2b/ljQFeNXM/h72zTGzuqGt0SG+NsCycPw3AU2AOZK2mFl6nPYHAYMAGjRoyKjU3MJOkavmGh0Dwwq5/nlzcOzcuZMhQ4Zw/fXXs3z5cnJzcw+YnyPv82mnncbMmTNp1aoVjRo1olWrVnzwwQe8/fbbjB07lkmTJtGkSRMmTpzIoEGD6N+/fwUcoStOTk7OAdfTHXn8Hjiy+fV3VeEe8ISHc+5IdAYw0MwWSHoM+AVwb2wBM3tUUmdCQkDSFUSJhnZAA2CJpLlFtPF7YIWZXSbph8ATYf8FwHnAp8AnRMmPJ4BzgBuAgcA2MztL0tHAAklvhTrPBtqY2bp4DUpKAW4HzjOzLSHpAvAA8ISZTZV0HTARuKyYc/Q9IAX4T17MZjZR0s1AupnFnRnSzCYDkwGaNT/dxq/0f2aOVMNScyns+mf368qePXvo1asXgwcP5uabbwagadOmnHHGGTRu3JhNmzbRpEkTunbtCpA/pAXg+9//Pj/+8Y/ZsWMHxx9/PP369QOgZs2ajBs3Ln8fV7kyMjL8Whzh/B44svn1d1XhHvAhLc65I9F6M1sQlv8GdE5gn87A02a218w+A94Bziqm/DQAM5sNnCipPjAP6BJ+JgGpkpoCW80sB7gQ+JmkTGARcCLQItS5uLBkR/BD4O95yQgz2xrWnws8FZanJXi8i81sg5ntAzKB5AT2cS4hZsbAgQNp3bp1frID4NJLL2Xq1KkATJ06ld69ewPwzTffsGPHDgBmzpxJUlISZ555Jk2bNmXNmjV8/vnn+dtat25dwUfjnHPOuarKv3pzzh2JrJjP8aiEbcQrb8Bc4JdAM6LeGJcDVxIlQvL2u8nM3jygsmiYyY4E2kzkWPLK5BIS35IEHBVT5tuY5b34vxeuDC1YsIBp06aRmppKWloaAGPHjuW2226jT58+/PWvf6VZs2Y8//zzAGzevJkePXpQo0YNmjZtyrRp0wBo0qQJd9xxB126dKFWrVqccsopTJkypbIOyznnnHNVjP8H1jl3JGom6Vwzew+4CpifwD5zgf8Lc3+cQNRDYwRQu4jy/YC7QrJii5ltB7ZLagAcZWafSJpPNOfGjWG/N4EbJM02sz2SWgIbEzyuWcBLku4zsy8knRB6ebwL/JSod0e/mOPNBjoAzwG9gVoJtPE1UI9ofg/nSqVz586Yxc/NzZo166B1ycnJrF27Nm75wYMHM3jw4DKNzznnnHPVgw9pcc4diT4ABkjKIkpeTEpgn5eALOB9YDZwi5n9t4jyo4GOoY1xwICYbYuIJkuFqGdHU/YnIR4F1gDLw+tu/0KCyWkzWw2MAd6R9D7wp7DpV8C1IZb+wJCw/hHgB5IWA50ovgcJRPNzvC5pTiIxOeecc845V1m8h4dz7ohiZtkU8oaTOGWviVk2oh4dI+LU1yYsZwAZYXkrUa+JePX2j1l+l5jkc5gz47fhJ1Z+3cXEPJXobS8FY/xhnLKfEU2Wmuc3BY8jfL4xZvnPwJ+Li8M555xzzrnK5j08nHPOOefc/2fvzuOrqs79j3++gIoGpUVABYqIAwIJxqnKFTHUAb1WrcVauV4VUCkVBPWi0smh2IqK7XUqljpAq+YqtQ71VtQfcgSpCqgR1AvaYixqEYMoJiAQ+vz+2JuYhJCEIQPJ9/165XX2XnvtZ6199pZ4nqy1jpmZWZPjER5m1uxJegzYr1Lx1ZUXDm0sJO1Jsl5HZcdHxIr67o+ZmZmZWWPkhIeZNXsRcWZD92FLpEmN3Ibuh1lNCiec2tBdMDMzs2bMU1rMzMzMzMzMrMlxwsPMzMzMzMzMmhwnPMzMzMzMzMysyXHCw8zMzMzMzMyaHCc8zMzMrM4sXbqUAQMG0LNnT3r37s1tt90GwKeffsqJJ57IgQceyIknnsjKlSsBWLFiBQMGDKBNmzaMGjWqQqz8/HxycnLo06cPJ598MkVFRfV+PWZmZrbjcMLDzMzM6kyrVq249dZb+b//+z9efvll7rrrLt5++20mTJjA8ccfz7vvvsvxxx/PhAkTAGjdujXjx49n4sSJFeKUlpYyZswYZs6cyYIFC+jTpw933nlnQ1ySmZmZ7SCc8DCzZkvSnpIK0p9lkj4stx/ltgskjasmzmWSdtvGvhRKar+NMbpJenML6k+RdFa6fY+kXul28bb0w6y8ffbZh8MOOwyA3XffnZ49e/Lhhx/yxBNPcMEFFwBwwQUX8PjjjwOQlZVFv379aN26dYU4EUFEUFJSQkSwatUqOnXqVL8XY2ZmZjuUVg3dATOzhhIRK4BcAEnXAcURMTHdL46I3FqGugx4AFhdF/2sDxFxUUP3wZq+wsJCXn/9dY466ig+/vhj9tlnHyBJiixfvrzac3faaScmTZpETk4OWVlZHHjggdx111310W0zMzPbQTnhYWa2DSSNBjoBMyUVAZOAoyPiCkljgDER0V3S/sDUiOhXTbhLJZ0G7AR8LyIWSfom8N/ArsAaYGhELJbUG7gf2JlktN4gYD3QUtLvgH8DPgTOiIg1tbiODDA2IuaXK2sP/Bm4AZgL3A10TQ9fFhFzqogzHBgO0L59B67JKa2paWui9toVMplM2f6aNWsYM2YMF110Ea+99hqlpaUVjlfeX7RoER9++GFZWWlpKb/85S+ZNGkSnTp14vbbb2f48OGcd9559XNBtsWKi4sr3FNrfvwMNG++/9YYngEnPMzMqrarpIJy+zdGxMOVK0XE7ZKuAAZERJGkvYEr08PHAiskdQb6AbNraLMoIg6TdAkwFrgIWAT0j4hSSScAvyRJbowAbouIByXtDLQE9gIOBAZHxMWSHknrPrClFy9pL+BJ4KcR8Zykh4BfR8SLkroCzwA9q3g/JgOTAbp2PyBuXehfM83Vf+WUcnZeHgDr16/n29/+NiNGjOCKK64AoHPnzvTo0YN99tmHf/7zn3Tq1Im8tD4ko0GKi4vLyubNm8fXv/51zj33XABatmzJhAkTKpxjjUsmk/H9aeb8DDRvvv/WGJ4B/5+omVnV1mzBlJYyEbFMUhtJuwPfAB4C+pMkP/5Uw+kbj78KfDfdbgtMlXQgECSjPwBeAn4iqQvwp4h4VxLAexFRUC5Oty29hrSNGcDIiHghLTsB6JW2AbCHpN0j4outiG/NSERw4YUX0rNnz7JkB8Dpp5/O1KlTGTduHFOnTuWMM86oNk7nzp15++23+eSTT+jQoQPPPfccPXtuknMzMzMzK+OEh5nZ9vcSMBRYTDKqYxjQF/ivGs5bm75u4Kt/n8cDMyPiTEndgAxARDwk6RXgVOAZSRcBS8rF2Bhn163ofylJsmQgsDHh0QLoW5vpMWblzZkzhz/84Q/k5OSQm5vkEH/5y18ybtw4zj77bO699166du3KtGnTys7p1q0bq1atYt26dTz++OM8++yz9OrVi2uvvZb+/fuz0047se+++zJlypQGuiozMzPbETjhYWa27b4AdgeK0v1ZwM/Tn9eBASQjRj7fithtSdbiABiysVBSd2BJOqWmO9CHJOGxPQRJkmaapHERMQF4FhgF3JK2n1tuJInZZvXr14+IqPLYjBkzqiwvLCyssnzEiBGMGDFie3XNzMzMmjh/La2ZWdV2rfS1tBOqqTsZeFrSzHR/Nsl0llkRsQFYCry4lf24GbhR0hySdTo2+j7wZrrOyMHA77cyfpXSfp8DDEjXFBkNHCFpgaS3SdYQMTMzMzNrtDzCw8wMiIjrKu233EzVqs69A7ij3P7fAZXbP6kWMbqV254P5KXbLwEHlav6s7T8RuDGSmE+BbLLxZlYQ5tDym3nldtuk76uI5nWstH3a7oOMzMzM7PGwiM8zMzMzMzMzKzJ8QgPM7NakvQYsF+l4qsj4pn6jLGlJN0FHFOp+LaIuL+u2jQzMzMza2hOeJiZ1VJEnNkYYmxFmyPru01rngonnFq2nclkGq4jZmZmZnhKi5mZmZmZmZk1QU54mJmZmZmZmVmT44SHmZmZmZmZmTU5TniYmZmZmZmZWZPjhIeZmZltV8OGDePMM88kOzu7rOyNN96gb9++5OTkcNppp7Fq1SoACgsL2XXXXcnNzSU3N5cRI0aUnbNu3TqGDx/OQQcdxMEHH8yjjz5a79diZmZmOy5/S4uZmZltV0OGDOHoo4/m9ttvLyu76KKLmDhxIscddxz33Xcft9xyC+PHjwdg//33p6CgYJM4v/jFL+jYsSPvvPMO//rXv/j000/r7RrMzMxsx+cRHtakSdpTUkH6s0zSh+X2o9x2gaRx1cS5TNJu29iXjKQjtuK870jqtS1tby1JxdUc6ybpP+q4/R/XcPxrki6pyz5Uaq9QUvv6aq8upffvzXT7CEm3p9vXSRrbsL2zHV3//v3ZY489KpQtXryY/v37A3DiiSfWarTGfffdx49+9CMAWrRoQfv2TeI/PzMzM6snTnhYkxYRKyIiNyJygbuBX5fbL9m4nf5MqCbUZcA2JTy2wXeAOk94SNrSEV/dgDpNeADVJjyArwH1lvBoqiJifkSMbuh+WNOWnZ3Nk08+CcC0adNYunRp2bH33nuPQw89lOOOO47Zs2cD8NlnnwHws5/9jMMOO4zvfe97fPzxx/XfcTMzM9theUqLWQ0kjQY6ATMlFQGTgKMj4gpJY4AxEdFd0v7A1IjoV4uYk4AjgV2BP0bEtWn5BOB0oBR4FvhTun+cpJ8CgyLi75VidQSejojDJR0CFAD7RsQ/JP0dyAE6APelr58AQ9PjU4BPgUOB1yTdCTxE8m/D9BouYwLQU1IBMBU4ERgXEQskvQ48FhE/lzQeeD8i7pF0JXA2sEt6fON1/ycwGtgZeIUkifELYNc0/lsRce5m+rB/Wuc5YO/0/Xwijfsg8DDQDjgzbXc/4KGIuH5zbUfEhhquHUmPA98AWgO3RcTktLwYuA34NrAGOCMiPk6fjweBlsDTwBUR0UZSHjA2Ir6dnn8nMD8ipki6BjiN5Dn5K/CDiAhJRwL3AiXAi8ApEZEtqWX6nuSl13pXRPy2FtdSoQ/lyi8Gvpv+DKrN+yRpODAcoH37DlyTU1pT89aEZDKZsu2SkhJKSkrKykaMGMENN9zAlVdeyTHHHEOLFi3IZDKsW7eOhx56iLZt27J48WIGDRrE/fffT2lpKR988AFt27blV7/6FY888gjnnXceP/5xTXlQayyKi4srPBPW/PgZaN58/60xPANOeFhztvHD9EY3RsTDlStFxO2SrgAGRESRpL2BK9PDxwIrJHUG+gGza9n2TyLi0/QD6gxJfYAPSD6UH5x+qP1aRHwm6UngqYj4Y1WBImK5pNaS9kj7Mx84VtKLwPKIWJ1+iP59REyVNAy4nWTkCMBBwAkRsSFta1JE/F7SyBquYRwVP6jvkrZbSJKwOSat1w94QNJJwIHANwEBT0rqT5KA+T5wTESsl/Qb4NyIGCdpVDoap7o+ZG+sI+k44HLgCUltgX8DLgD+M203G1gNzJP0vyQJg03aBn5fw7UDDEvv4a5pvEcjYgWQBbwcET+RdDNwMXADSRLktojIlzSimrjl3RkRP0+v7Q8kSZQ/A/cDwyPir2mSbKMLgc8j4sj0fsyR9GxEvFfL9spIGgWcRPKcdKeW71Oa+JkM0LX7AXHrQv+aaU4Kz80r2162bBlZWVnk5X1Vdv755wPwzjvv8NZbb1U4BpCXl0d+fj577bUXhx9+OLvtths/+9nPaNGiBfvvvz8nn3zyJudY45XJZHy/mjk/A82b7781hmfAU1qsOVtTaUrLJsmOqkTEMqCNpN1J/sL/ENCfJNlQ24TH2ZJeA14HepNMWVkFfAncI+m7JB/Ma+uvJAmG/sAvq+hP37SfAH8gSUJsNK3cX+qPAfLL1dsSs9N2+wH/S/Ie7QZ0i4jFJB+eTyK55teAg0kSIMcDh5MkDQrS/e5b2DYAEfECcEA66mUw8GhEbBxi8Fw6xWkNyciZftvY9mhJbwAvkzwHB6bl64Cn0u1XSab+QHIPpqXbG+9FTQZIekXSQuBbQG9JXwN2j4i/VhHrJOD89FpeAfYs168tcR5wCsmIorVsx3tkzdfy5csB+Ne//sUNN9xQ9m0sn3zyCRs2JP8ELVmyhHfffZfu3bsjidNOO63sL0MzZsygV68GWc7IzMzMdlD+05vZ1nkJGAosJvmgP4zkA+1/1XSipP2AscCREbEynVbSOiJKJX2T5MPkOcAokg+5tTGbJMGxL/AEcDUQfPXBu7Iot11SzbEtMQ84AlhCMr2kPcnohlfT4yIZRVNhioWkS0mmAv1oK9ut7A8kow/OIbkvG1W+rkj7tMVtp1NATgD6piNoMiRTWwDWR8TGtjZQ87+zpVRMPrdO22gN/AY4IiKWSrouPabqugZcGhHP1P5qqvQmkAt0Ad5jK98na74GDx7Ms88+y6pVq+jSpQvXX389xcXF3HXXXQB897vfZejQoQDMmjWLa665hlatWtGyZUvuvvtu2rVrB8BNN93Eeeedx2WXXUaHDh24//77G+yazMzMbMfjhIdZ7XwB7A4UpfuzgJ+nP68DA0hGjHxei1h7kCQZPpe0F8lf0jOS2gC7RcRfJL0M/K1S29WZRTJtYlZE/EvSp8C/Axs/oP6VJAGwMRnw4mbizEnrPZDWq06FfkXEOklLSdboGE+yXsjE9AfgGWC8pAcjojidBrQemEEyBeXX6fScdiQjGN4H1kvaKSLW16YPqSnAXGBZRLxVrvzENPYakmkaw0hG0Wyu7eq0BVamyY6DgaNrqA/JSJBBJGuKnFOu/H2gVzoFpTVJwutFvkqgFKXPxlkk65OslPSFpKMj4uVKsZ4Bfijp+XTqyUHAhxFROalVk9dJ1qp5UtJAqr9HZpvIz8+vchjrmDFjNqk7aNAgBg0aVGWcfffdl1mzZtVFF83MzKwZ8JQWa852VcWvpa3uW1omA09LmpnuzyaZxjArnQ6ylM0nESqIiDdIPlC+RbKQ6Jz00O7AU5IWAC+QrEUB8D/AlZJeTxe+rCpmYbq58ZPBi8BnEbEy3R8NDE1jnwds+qkjMQYYKWkeyYf66iwASiW9IWljX2cDH0fE6nS7S/pKRDxLMv3ipXSKxh9JPjS/DfwUeDbt33PAPmm8ycCCdPHRqq57Bck6FW9KuiUt+xj4P5J1Lsp7kSThU0Ay1WV+DW1XZzrQKj1nPEkyoyaXAVdImpu28Xna36XAIyTv54MkzwYR8RnwO2Ah8DjJCJqNLgQmS3qJZPTFxkTbPcDbJAvQvgn8lq1MbEfEiyQjkf4XWM7WvU9mZmZmZg1GX428NjPb8aXrhiwEDts44kbSEJKpIaMauF9r0gVpzwEGR8QZWxmrTUQUp9vjgH0iYnNJrAbTtfsB0eLs2xq6G1aPCiecWrbdGBYqs4blZ8D8DDRvgMhrmAAAIABJREFUvv9WX8+ApFcj4oiqjnlKi5k1GZJOIBk186taTi+qT4cDd0oS8BkV1xfZUqdK+hHJv+HvA0O2vXtmZmZmZk2LEx5m5Uh6DNivUvHVW7II5PaIUU3su/jq6143ui0i6mwlP0k5bPqNLWsj4qi6arOKPuxJso5EZcen01oAiIj/B3StXCkippCs7VHb9l4BdqlUfF5ELKxtjCr6MBs4ZGvPrxTrYZK1QGrUGO6fmZmZmVlDcMLDrJyIOLMxxKgm9si6il1NmwtJvrGjwaRJjXrrQ1NKBjSG+2dmZmZm1hCc8DAzM7NaK79Oh5mZmVlj5m9pMTMzMzMzM7MmxwkPMzMzMzMzM2tynPAwMzMzMzMzsybHCQ8zMzPbYsOGDaNjx45kZ2eXlRUUFHD00UeTm5vLD37wA+bOnVvhnH/84x+0adOGiRMnlpXl5+eTk5NDnz59OPnkkykqKqq3azAzM7OmzQkPMzMz22JDhgxh+vTpFcquuuoqrr32WgoKChg6dChXXXVVheOXX345p5xyStl+aWkpY8aMYebMmSxYsIA+ffpw55131kv/zczMrOlzwsPMGiVJe0oqSH+WSfqw3H6U2y6QNK6aOJdJ2m0b+3KspLfStnbdlljVtFEoqf02xugm6c0tqD9F0lnp9j2SeqXbxdvSD2se+vfvT7t27SqUSWLVqlUAlJSU0KlTp7Jjjz/+ON27d6d3795lZRFBRFBSUkJEsGrVqgrnmJmZmW0Lfy2tmTVKEbECyAWQdB1QHBET0/3iiMitZajLgAeA1dvQnXOBiRFxf/lCSS0jYsM2xG00IuKihu6D7fj++7//m4EDBzJ27Fi+/PJL5s+fDyTJj5tuuonnnnuuwnSWnXbaiUmTJpGTk0NWVhYHHnggd911V0N138zMzJoYj/AwsyZL0migEzBT0kxJZ0v6VXpsjKQl6fb+kl7cTIyLgLOBayQ9KCkvjfUQsFBSS0m3SJonaYGkH6TnSdKdkt6W9L+S/rJxNEU1LpX0mqSFkg5O43xT0l8lvZ6+9kjLe0uam446WSDpwDRGS0m/S0ekPFvbESmSMpKOqFTWXtJLkk6V1EHSo+l1zpN0TG3iWvMyadIkfv3rX7N06VIuueQSLrzwQgCuvfZaLr/8ctq0aVOh/vr165k0aRKvv/46H330EX369OHGG29siK6bmZlZE+QRHma2I9pVUkG5/Rsj4uHKlSLidklXAAMiokjS3sCV6eFjgRWSOgP9gNlVNRQR90jqBzwVEX+UlAd8E8iOiPckDQc+j4gjJe0CzJH0LHAo0APIAfYC3gbuq+G6iiLiMEmXAGOBi4BFQP+IKJV0AvBLYBAwArgtIh6UtDPQMm3nQGBwRFws6ZG07gM1tLsJSXsBTwI/jYjn0gTPryPiRUldgWeAnlWcNxwYDtC+fQeuySnd0qatkctkMmXby5Yto6SkpKzsvvvu48wzzySTyXDEEUcwceJEMpkMzz77LA888ACjR4+muLiYFi1asHTpUnr27MnKlStZunQpS5cu5cADDyQ/P59+/fo1zMXZdlVcXFzhebHmx89A8+b7b43hGXDCw8x2RGu2YEpLmYhYJqmNpN2BbwAPAf1Jkh9/2oJQcyPivXT7JKBPudEbbUmSDv2B/HTKy0eSnq9F3I19eBX4brl4U9MRHAHslJa/BPxEUhfgTxHxriSA9yKioFycbltwXRvtBMwARkbEC2nZCUCvtA2APSTtHhFflD8xIiYDkwG6dj8gbl3oXzNNTeG5eV9tFxaSlZVFXl5S9o1vfANJ5OXlceutt3LwwQeTl5fHggULys657rrraNOmDWPHjuWjjz7i+uuvp3fv3nTo0IEZM2ZwzDHHlMWzHVsmk/G9bOb8DDRvvv/WGJ4B/5+omTU3LwFDgcUkozqGAX2B/9qCGCXltgVcGhHPlK8g6d9JEhRbYm36uoGv/n0eD8yMiDMldQMyABHxkKRXgFOBZ9KpN0vKxdgYZ2sWWS0lSZYMBDYmPFoAfSNizVbEsyZo8ODBZDIZioqK6NKlC9dffz2/+93vGDNmDKWlpaxbt44HHqh+cFGnTp249tpr6d+/PzvttBP77rsvU6ZMqZ8LMDMzsybPCQ8za+q+AHYHitL9WcDP05/XgQEkI0Y+38r4zwA/lPR8RKyXdBDwYdrODyT9HuiYtvPQVsRvm8YDGLKxUFJ3YEk6bac70Ick4bE9BEkiaJqkcRExAXgWGAXckrafW24kiTVD+fn5VZa/+uqrQPJXncMPP3yT49ddd12F/REjRjBixIjt3j8zMzMzL1pqZjuiXSt9Le2EaupOBp6WNDPdn00ynWVWOt1kKVDlgqW1dA/J+hyvpV8J+1uSZPJjwLvAQmASX42U2FI3AzdKmkOyTsdG3wfeTNcyORj4/VbGr1L63pwDDEjXFBkNHJEukPo2yRoiZmZmZmaNlkd4mFmjFxHXVdpvuZmqVZ17B3BHuf2/k0xD2bh/Ui1iDCm3nSGdVpLu/wv4cfpT2aiNG5Km1NBGt3Lb84G8dPsl4KByVX+Wlt8IVP46i0+B7HJxJlKNSteVV267Tfq6jmRay0bfry6emZmZmVlj4hEeZmZmZmZmZtbkeISHmTUJkh4D9qtUfHXlxUTrOsbmbBxNUZdtbI6ku4BjKhXfFhH311WbZmZmZmYNzQkPM2sSIuLMxhCjMbRRRZsj67tNMzMzM7OG5oSHmZmZUTjh1IbugpmZmdl25TU8zMzMzMzMzKzJccLDzMzMzMzMzJocJzzMzMzMzMzMrMlxwsPMzMwAGDZsGB07diQ7O7tC+R133EGPHj3o3bs3V111FQDr16/nggsuICcnh549e3LjjTcCsHr1ak499VTOP/98evfuzbhx4+r9OszMzMzAi5aamZlZasiQIYwaNYrzzz+/rGzmzJk88cQTLFiwgF122YXly5cDMG3aNNauXcvChQtZvXo1vXr1YvDgwXTs2JGxY8ciiX/7t3/j+OOP5+mnn+aUU05pqMsyMzOzZsojPMzM6oikbpLerGXdYyW9JalA0q41xZOUJ+mp7dlfs/79+9OuXbsKZZMmTWLcuHHssssuAHTs2BEASZSUlFBaWsqaNWvYeeed2WOPPdhtt90YMGAAADvvvDOHHXYYH3zwQf1eiJmZmRlOeJiZNRbnAhMjIjci1jR0Z8w2euedd5g9ezZHHXUUxx13HPPmzQPgrLPOIisri3322YeuXbsyduzYTZIln332GX/+8585/vjjG6LrZmZm1sw54WFmVrdaSZoqaYGkP0rarXIFSRcBZwPXSHpQiVskvSlpoaTvV9eApHaSHk/beFlSn7R8oaSvpfFWSDo/Lf+DpBMk9ZY0Nx1VskDSgdW08bikV9NRKMO37S2xHUlpaSkrV67k5Zdf5pZbbuHss88mIpg7dy4tW7bko48+4r333uPWW29lyZIlZedt2LCBwYMHM3r0aLp3796AV2BmZmbNldfwMDOrWz2ACyNijqT7gEuAieUrRMQ9kvoBT0XEHyUNAnKBQ4D2wDxJs6pp43rg9Yj4jqRvAb9Pz58DHAO8DywBjk2PHQ38ELgRuC0iHpS0M9CymjaGRcSn6XSbeZIejYgVlSulyZDhAO3bd+CanNLq3x1rNDKZDADLli2jpKSkbH+33Xaje/fuvPDCCwCsW7eOJ554gilTptCrVy/mzJkDQPfu3Zk6dWrZdJYJEyaw++67k5ubWxbLmpfi4mLf+2bOz0Dz5vtvjeEZcMLDzKxuLY2IOen2A8BoKiU8qtAPyI+IDcDHkl4AjgQWVFN/EEBEPC9pT0ltgdlAf5KExyRguKTOwKcRUSzpJeAnkroAf4qId6vp02hJZ6bb3wAOBDZJeETEZGAyQNfuB8StC/1rZkdReG5e8lpYSFZWFnl5yf6wYcP46KOPyMvL45133qFFixacccYZLF68mEWLFnHcccexevVq3n//fW666Sb69OnDT3/6U9auXcszzzxDixYeTNpcZTKZsufImic/A82b7781hmfA/xdiZla3oob9qmgL26iqfgCzSEZ1HAtkgE+As0gSIUTEQ8DpwBrgmXR0yKbBpTzgBKBvRBwCvA603sI+2g5g8ODB9O3bl8WLF9OlSxfuvfdehg0bxpIlS8jOzuacc85h6tSpSGLkyJEUFxeTnZ3NkUceydChQ+nTpw8ffPABv/jFL3j//fc57LDDyM3N5Z577mnoSzMzM7NmyH96MzOrW10l9Y2Il4DBwIu1OGcW8ANJU4F2JKM0rmTzSYZZJIuejk+TE0URsQpYJak9sHNELJH0IjAWGAUgqTuwJCJuT7f7AM9XEb8tsDIiVks6mGRKjDVB+fn5VZY/8MADm5S1adOGadOmbVLepUsXIqJR/FXHzMzMmjeP8DAzq1v/B1wgaQFJ8mJSLc55jGT6yhskCYirImJZNfWvA45I25gAXFDu2CvAO+n2bKAzXyVdvg+8KakAOJhkfY+qTCdZfHUBMB54uRbXYGZmZmbWoDzCw8ysjkREIdCrlnWHlNsOkhEdV1YRLzvdzpBMUyEiPgXO2Ezc88pt/5Vyie6IuJFk4dKa+rYWOKU212FmZmZm1lh4hIeZmZmZmZmZNTke4WFmVo8kPQbsV6n46oh4piH6U56kPYEZVRw6vqqvoDUzMzMza8yc8DAzq0cRcWbNtRpGmtTIbeh+mJmZmZltD054mJmZNVOFE05t6C6YmZmZ1Rmv4WFmZmZmZmZmTY4THmZmZmZmZmbW5DjhYWZmZmZmZmZNjhMeZmZmZmZmZtbkOOFhZmbWjA0bNoyOHTuSnZ1dofyOO+6gR48e9O7dm6uuugqAuXPnkpubS25uLocccgiPPfZYWf28vDx69OhRdnzlypX1eh1mZmZmlTnhYWbWyEm6TNJuDdBunqSn6rtdq19Dhgxh+vTpFcpmzpzJE088wYIFC3jrrbcYO3YsANnZ2cyfP5+CggKmT5/OD37wA0pLS8vOe/DBBykoKKCgoICvf/3r9XodZmZmZpU54WFm1vhdBtR5wkNSy7puwxqf/v37065duwplkyZNYty4ceyyyy4AdOzYEYDddtuNVq2Sb7T/8ssvkVS/nTUzMzPbAk54mJltB5LOl7RA0huS/iBpX0kz0rIZkrqm9aZIOqvcecXpa56kjKQ/Slok6UElRgOdgJmSZm6m7bMl/SrdHiNpSbq9v6QX0+3jJb0uaaGk+yTtkpYXSromrfc9SSen7b8IfLdcG8dJKkh/Xpe0e128j9Y4vPPOO8yePZujjjqK4447jnnz5pUde+WVV+jduzc5OTncfffdZQkQgKFDh5Kbm8v48eOJiIboupmZmVmZVjVXMTOz6kjqDfwEOCYiiiS1A6YCv4+IqZKGAbcD36kh1KFAb+AjYE4a73ZJVwADIqJoM+fNAq5Mt48FVkjqDPQDZktqDUwBjo+IdyT9Hvgh8N/pOV9GRL+03rvAt4C/AQ+Xa2MsMDIi5khqA3y5mfdiODAcoH37DlyTU1pVNWskMpkMAMuWLaOkpKRs//PPP2fhwoVMmDCBRYsWcfrpp/PQQw+Vjei46667eP/99/nxj39MVlYWO++8MyNHjqRDhw6sXr2aa6+9lpUrV3oESDNXXFxc9kxZ8+RnoHnz/bfG8Aw44WFmtu2+BfxxY0IiIj6V1JevRkj8Abi5FnHmRsQHAJIKgG7AizWdFBHLJLVJR118A3gI6E+S/PgT0AN4LyLeSU+ZCozkq4THxsTGwWm9d9M+PECavCBJwPxK0oPAnzb2s4q+TAYmA3TtfkDcutC/ZhqzwnPzktfCQrKyssjLS/Z79OjB6NGjycvLY8CAAUycOJHs7Gw6dOhQ4fwpU6bQrl07jjjiiArly5cv54knniiLZ81TJpPxM9DM+Rlo3nz/rTE8A57SYma27QTUNH5/4/FS0n97lfz5e+dyddaW297AliWlXwKGAouB2STJjr4kiYqa/sxeUkU/K4iICcBFwK7Ay5IO3oK+2Q7mO9/5Ds8//zyQTG9Zt24d7du357333itbpPT9999n8eLFdOvWjdLSUoqKkgFI69ev56mnnmK//fZrsP6bmZmZgRMeZmbbwwzgbEl7AqRTWv4KnJMeP5evRmoUAoen22cAO9Ui/hdATWtmzCKZdjILeB0YAKyNiM+BRUA3SQekdc8DXqgixiJgP0n7p/uDNx6QtH9ELIyIm4D5JKNBrAkYPHgwffv2ZfHixXTp0oV7772XYcOGsWTJErKzsznnnHOYOnUqknjxxRc55JBDyM3N5cwzz+Q3v/kN7du3Z+3atQwcOJA+ffqQm5tL586dOfXUUxv60szMzKyZ81hjM7NtFBFvSfoF8IKkDSQJh9HAfZKuBD4hGX0B8DvgCUlzSRIlJVXFrGQy8LSkf0bEgM3UmU0ynWVWRGyQtJQkgUFEfClpKDBNUitgHnB3FdfxZboGx/9KKiJJ0mSnhy+TNIBk5MnbwNO16LftAPLz86ssf+CBBzYpO++88zjvvPM2Kc/KyuLVV1+tUNbQc3bNzMzMnPAwM9sOImIqydoY5X2rinofA0eXK/pRWp4BMuXqjSq3fQdwRw3t/51yU1ci4qRKx2eQLIpa+bxulfanU8XojYi4tLr2zczMzMwaG09pMTMzMzMzM7MmxyM8zMx2IJJeAXapVHxeRCxsiP6YmZmZmTVWTniYme1AIuKohu6DmZmZmdmOwAkPMzOzJqZwgr8hxczMzMxreJiZmZmZmZlZk+OEh5mZmZmZmZk1OU54mJmZmZmZmVmT44SHmZmZmZmZmTU5TniYmZk1QcOGDaNjx45kZ2dvcmzixIlIoqioCID169dzwQUXkJOTQ8+ePbnxxhvL6ubl5dGjRw9yc3PJzc1l+fLl9XYNZmZmZtvCCQ8zM7MmaMiQIUyfPn2T8qVLl/Lcc8/RtWvXsrJp06axdu1aFi5cyKuvvspvf/tbCgsLy44/+OCDFBQUUFBQQMeOHeuj+2ZmZmbbzAkPM7MdkKTrJI2VNERSpxrqFkpqX199s8ahf//+tGvXbpPyyy+/nJtvvhlJZWWSKCkpobS0lDVr1rDzzjuzxx571Gd3zczMzLY7JzzMzHZsQ4BqEx51QQn/DtnBPPnkk3Tu3JlDDjmkQvlZZ51FVlYW++yzD127dmXs2LEVkiVDhw4lNzeX8ePHExH13W0zMzOzrdKqoTtgZma1I+knwPnAUuAT4FXgCOBBSWuAvhGxZjOnXyrpNGAn4HsRsUhSO+A+oDuwGhgeEQskXQcUR8TEtN03gW+ncZ4GZgJ9ge8A71fq43BgOED79h24Jqd0u1y7bZlMJgPAsmXLKCkpIZPJ8OWXX3L11Vdzyy23lO3PmTOHtm3bsnDhQoqKisjPz+eLL75gzJgxtGnThk6dOjFy5Eg6dOjA6tWrufbaa1m9ejUDBw6ssQ/FxcVl/bDmyc+A+Rlo3nz/rTE8A054mJntACQdDpwDHEryb/drJAmP+cDYiJhfQ4iiiDhM0iXAWOAi4Hrg9Yj4jqRvAb8HcmuI0wMYGhGXVHUwIiYDkwG6dj8gbl3oXzMNofDcvOS1sJCsrCzy8vJYuHAhK1asYNSoUQAUFRVx6aWXMnfuXKZNm8YFF1zACSecAMCf//xnWrVqRV5eXoW4y5cvZ/78+ZuUVyWTydSqnjVdfgbMz0Dz5vtvjeEZ8HBkM7Mdw7HAYxGxOiJWAU9u4fl/Sl9fBbql2/2APwBExPPAnpLa1hDn/Yh4eQvbtkYgJyeH5cuXU1hYSGFhIV26dOG1115j7733pmvXrjz//PNEBCUlJbz88sscfPDBlJaWVvgml6eeeqrKb30xMzMza4yc8DAz23Fsy+IJa9PXDXw1uk9V1AuglIq/H1qX2y7Zhj5YPRo8eDB9+/Zl8eLFdOnShXvvvXezdUeOHElxcTHZ2dkceeSRDB06lD59+rB27VoGDhxInz59yM3NpXPnzlx88cX1eBVmZmZmW89jjc3MdgyzgCmSJpD8230a8FvgC2D3bYh5LjBeUh7JtJdVkgpJ1+yQdBiw37Z13RpCfn5+tcfLf+1smzZtmDZt2iZ1srKyePXVV7d318zMzMzqhRMeZmY7gIh4TdLDQAHJQqGz00NTgLtrsWhpVa4D7pe0gGTR0gvS8keB8yUVAPOAd7b9CszMzMzM6pcTHmZmO4iI+AXwiyoOPVrDed3Kbc8H8tLtT4Ezqqi/BjhpM+G8gIOZmZmZ7RC8hoeZmZmZmZmZNTke4WFm1kRIeoxN19u4OiKeaYj+mJmZmZk1JCc8zMyaiIg4s6H7YA2rcMKpDd0FMzMzs0bDU1rMzMzMzMzMrMlxwsPMzMzMzMzMmhwnPMzMzMzMzMysyXHCw8zMzMzMzMyaHCc8zMzMmpBhw4bRsWNHsrOzNzk2ceJEJFFUVARAYWEhu+66K7m5ueTm5jJixIiyunl5efTo0aPs2PLly+vtGszMzMy2B39Li5mZWRMyZMgQRo0axfnnn1+hfOnSpTz33HN07dq1Qvn+++9PQUFBlbEefPBBjjjiiDrrq5mZmVld8ggPM7N6Jukvkr5Wz23+XNIJ6faxkt6SVCCps6Q/bmGsKZLOqpue2rbq378/7dq126T88ssv5+abb0ZSA/TKzMzMrP454WFmVs8i4t8j4rP6ak9Sy4i4JiL+X1p0LjAxInIj4sOIcPKiiXvyySfp3LkzhxxyyCbH3nvvPQ499FCOO+44Zs+eXeHY0KFDyc3NZfz48UREfXXXzMzMbLvwlBYzs+1E0uPAN4DWwG0RMXkz9QqBI4A1wCNAF6AlMD4iHq6i/inA0Ig4O93PA/4rIk6TdBJwPbAL8Pe0XnHaxn3AScCdkk4GngK+BpwNDExHfPwEeCoisiW1BCYAeWm8uyLit0qGBNwBfAt4D9jsEAFJw4HhAO3bd+CanNJavHO2vWQyGQCWLVtGSUkJmUyGL7/8kquvvppbbrmlbH/OnDm0bduWdevW8dBDD9G2bVsWL17MoEGDuP/++8nKymLkyJF06NCB1atXc+2117J69WoGDhxY674UFxeX9ceaJz8D5megefP9t8bwDDjhYWa2/QyLiE8l7QrMk/RoRKyopv7JwEcRcSqApLabqfcc8FtJWRFRAnwfeFhSe+CnwAkRUSLpauAK4OfpeV9GRL809skAEXGPpH4kSY4/SupWrp0Lgc8j4khJuwBzJD0LHAr0AHKAvYC3SZIpm0iTPJMBunY/IG5d6F8z9anw3LzktbCQrKws8vLyWLhwIStWrGDUqFEAFBUVcemllzJ37lz23nvvsnPz8vLIz89nr7322mTdjuXLlzN//nzy8vJq3ZdMJrNF9a3p8TNgfgaaN99/awzPgKe0mJltP6MlvQG8TDLS48Aa6i8ETpB0k6RjI+LzqipFRCkwHThNUivgVOAJ4GigF0liogC4ANi33KmbjBapwUnA+WmsV4A902voD+RHxIaI+Ah4fgvjWgPKyclh+fLlFBYWUlhYSJcuXXjttdfYe++9+eSTT9iwYQMAS5Ys4d1336V79+6UlpaWfZPL+vXreeqpp6r81hczMzOzxsx/ejMz2w7SaSYnAH0jYrWkDMnUls2KiHckHQ78O3CjpGcj4uebqf4wMBL4FJgXEV+kU02ei4jBmzmnZEsvA7g0Ip6pUCj9O+AFHHYQgwcPJpPJUFRURJcuXbj++uu58MILq6w7a9YsrrnmGlq1akXLli25++67adeuHSUlJQwcOJD169ezYcMGTjjhBC6++OJ6vhIzMzOzbeOEh5nZ9tEWWJkmOw4mGX1RLUmdgE8j4gFJxcCQaqpngHuBi/lq5MbLwF2SDoiIv0naDegSEe9s5TU8A/xQ0vMRsV7SQcCHwCzgB5J+D3QEBgAPbWUbVsfy8/OrPV5YWFi2PWjQIAYNGrRJnaysLF599dXt3TUzMzOzeuWEh5nZ9jEdGCFpAbCYJBlRkxzgFkn/AtYDP9xcxYjYIOkpkqTIBWnZJ5KGAPnpmhuQrOmxtQmPe4BuwGvp6JFPgO8Aj5EsWLowjf3CVsY3MzMzM6s3TniYmW0HEbEWOKWWdbulm8+kP7VtYxQwqlLZ88CR1bSxcX/IZrYLgex0+1/Aj9OfykZVUWZmZmZm1mh50VIzMzMzMzMza3I8wsPMrI5IegXYpVLxeRGxsJpzHgP2q1R8deWFRM3MzMzMrHpOeJiZ1ZGIOGorzjmzLvpiTVfhhFMbugtmZmZmjZKntJiZmZmZmZlZk+OEh5mZmZmZmZk1OU54mJmZmZmZmVmT44SHmZmZmZmZmTU5TniYmZk1AcOGDaNjx45kZ2dvcmzixIlIoqioCIAVK1YwYMAA2rRpw6hRoyrUPfnkkznkkEPo3bs3I0aMYMOGDfXSfzMzM7PtzQkPMzOzJmDIkCFMnz59k/KlS5fy3HPP0bVr17Ky1q1bM378eCZOnLhJ/UceeYQ33niDN998k08++YRp06bVab/NzMzM6ooTHmZmOyhJX5N0yTbGKN5e/bGG1b9/f9q1a7dJ+eWXX87NN9+MpLKyrKws+vXrR+vWrTepv8ceewBQWlrKunXrKpxnZmZmtiNxwsPMbMf1NWCbEh7WtD355JN07tyZQw45ZIvOGzhwIB07dmT33XfnrLPOqqPemZmZmdWtVg3dATMz22oTgP0lFQCvA49FxJOSHgNWRsQwSRcC+0XET2sKJulK4GxglzTWtZK6AU8DLwL/BnwInBERazYTYzgwHKB9+w5ck1O6rddoNchkMmXby5Yto6SkhEwmw5dffsnVV1/NLbfcUrY/Z84c2rZtW1Z/0aJFfPjhhxViAPzoRz9i3bp13HDDDfz617/miCOO2OJ+FRcXbxLXmhc/A+ZnoHnz/bfG8Aw44WFmtuMaB2RHRK6kc4BjgSeBzsA+aZ1+wP/UFEjSScCvjC+eAAAepElEQVSBwDcBAU9K6g/8Iy0fHBEXS3oEGAQ8UFWciJgMTAbo2v2AuHWhf83UtcJz877aLiwkKyuLvLw8Fi5cyIoVK8oWJS0qKuLSSy9l7ty57L333mX1i4uLycvLqyIy/POf/2TevHmMHTt2i/uVyWQ2G9eaBz8D5megefP9t8bwDPj/RM3MmobZwGWSegFvA1+XtA/QFxhdi/NPSn9eT/fbkCQ6/gG8FxEFafmrQLft2G+rIzk5OSxfvrxsv1u3bsyfP5/27dtv9pzi4mK++OIL9tlnH0pLS/nLX/7CscceWx/dNTMzM9vunPAwM2sCIuJDSV8HTgZmAe1IpqcUR8QXtQgh4MaI+G2FwmRKy9pyRRuAXbdHn237Gjx4MJlMhqKiIrp06cL111/PhRdeuNn63bp1Y9WqVaxbt47HH3+cZ599lj333JPTTz+dtWvXsmHDBr71rW8xYsSIerwKMzMzs+3HCQ8zsx3XF8Du5fZfAi4DvgXsCfwx/amNZ4Dxkh6MiGJJnYH127OzVrfy8/OrPV5YWFjt/kbz5s3bTj0yMzMza1hOeJiZ7aAiYoWkOZLeJFlYdDZwUkT8TdL7JKM8Ztcy1rOSegIvpV9DWgz8J8mIDjMzMzOzHY4THmZmO7CI+I9KRfem5euBrFqc36bc9m3AbVVUyy5XZ+LW9dTMzMzMrH61aOgOmJmZmZmZmZltbx7hYWbWxEnaE5hRxaHjI2JFfffHzMzMzKw+OOFhZtbEpUmN3Ibuh9VO4YRTG7oLZmZmZk2Cp7SYmZmZmZmZWZPjhIeZmZmZmZmZNTlOeJiZmZmZmZlZk+OEh5mZmZmZmZk1OU54mJmZNTLDhg2jY8eOZGdnl5VdeeWVHHzwwfTp04czzzyTzz77DIAVK1YwYMAA2rRpw6hRoyrEefjhh+nTpw+9e/fmqquuqtdrMDMzM2toTniYmdUxSV+TdEkdxr9M0m411PlxXbVv29+QIUOYPn16hbITTzyRN998kwULFnDQQQdx4403AtC6dWvGjx/PxIkTK9RfsWIFV155JTNmzOCtt97i448/ZsaMqr6d2MzMzKxpcsLDzKzufQ2os4QHcBlQbcIDcMJjB9K/f3/atWtXoeykk06iVavk2+SPPvpoPvjgAwCysrLo168frVu3rlB/yZIlHHTQQXTo0AGAE044gUcffbQeem9mZmbWODjhYWZW9yYA+0sqkHS/pNMBJD0m6b50+0JJN6Tb/ylpblr/t5JapuUnSXpJ0muSpklqI2k00AmYKWlmVY1LmgDsmsZ7UNJ4SWPKHf+FpNGS8iTNSvv1tqS7JbXYXNt1+YZZ9e677z5OOeWUausccMABLFq0iMLCQkpLS3n88cdZunRpPfXQzMzMrOG1augOmJk1A+OA7IjIlXQOcCzwJNAZ2Cet0w/4H0k9ge8Dx0TEekm/Ac6V9Bfgp8AJEVEi6Wrgioj4uaQrgAERUVRV4xExTtKoiMgFkNQN+BNwW5rQOAf4JpCTvvYC3gemA9+VlKmqbeDnlduSNBwYDtC+fQeuySnd+netmcpkMgAsW7aMkpKSsv2NHnjgAT777DM6d+5c4diiRYv48MMPK5RdcsklnHLKKbRo0YLevXvz2WefbRKvrhQXF9dbW9Y4+RkwPwPNm++/NYZnwAkPM7P6NRu4TFIv4G3g65L2AfoCo4ELgMOBeZIAdgWWA0eTJCLmpOU7Ay9tTQciolDSCkmHAnsBr0fEijTu3IhYAiApnyQR82Vt246IycBkgK7dD4hbF/rXzJYqPDcveS0sJCsri7y8vLJjU6dO5a233mLGjBnstlvFWUyFhYUUFxdXqJ+Xl8ePf5zMZpo8eTJ/+9vfKhyvS5lMpt7assbJz4D5GWjefP+tMTwD/j9RM7N6FBEfSvo6cDIwC2gHnA0UR8QXSjIKUyPiR+XPk3Qa8FxEDN5OXbkHGALsDdxXvouVuwxoO7dtW2H69OncdNNNvPDCC5skOzZn+fLldOzYkZUrV/Kb3/yGRx55pI57aWZmZtZ4eA0PM7O69wWwe7n9l0gWGp1FMuJjbPoKMAM4S1JHAEntJO0LvAwcI+mAtHw3SQdtJn5V1kvaqdz+YyRJlyOBZ8qVf1PSfulUl+8DL9bQttWBwYMH07dvXxYvXkyXLl249957GTVqFF988QUnnngiubm5jBgxoqx+t27duOKKK5gyZQpdunTh7bffBmDMmDH06tWLY445hnHjxnHQQb5tZmZm1nx4hIeZWR1Lp4vMkfQm8DRJcuOkiPibpPdJRnnMTuu+LemnwLNp0mE9MDIiXpY0BMiXtEsa+qfAOyRTSJ6W9M+IGLCZbkwGFkh6LSLOjYh16SKnn0XEhnL1XiJZZDWHJCHzWET8q5q2rQ7k5+dvUnbhhRdutn5hYWGt45iZmZk1F054mJnVg4j4j0pF96bl64GsSnUfBh6uIsbzJCMyKpffAdxRQ/tXA1dv3E+TKUcD36tUdXVEfL+2bZuZmZmZNVae0mJm1sykC6b+DZgREe82dH/MzMzMzOqCR3iYmTUhkl4BdqlUfF5ELNy4ExFvA90rnxsRGSBTl/0zMzMzM6svTniYmTUhEXFUQ/fBzMz+f3v3H61XVd95/P0hQUkMqOFHJxCRn4IkYFBaQ0W4irEwdAEx4ohUoOiiqBjLDCC2SxJXl4swBY06TphEokEZKAsloqX8MHoJWORHICahIYWBTIBGQX4nONrQ7/zxHOJNuAlBL/e5eZ73a6277jn77L3P99y9uc/Nl33OkSQNBSY8JEl6Fa2ccUy7Q5AkSepKPsNDkiRJkiR1HBMekiRJkiSp45jwkCRJkiRJHceEhyRJkiRJ6jgmPCRJGgSnnXYau+yyC+PHj19f9uSTTzJp0iT23XdfJk2axFNPPbVBm1WrVjFq1Cguuuii9WWLFi3iwAMPZJ999mHq1KlU1aBdgyRJ0tbEhIckab0kvUkOabavS/KGdsfUKU499VSuv/76DcpmzJjBkUceyf3338+RRx7JjBkzNjh+1llncfTRR29Q9olPfILZs2dz//33c//997+kT0mSJLWY8JAk9auq/nNVPd3uODrF4YcfzujRozco+/73v88pp5wCwCmnnML8+fPXH5s/fz577bUX48aNW1+2evVqnn32WQ499FCScPLJJ2/QRpIkSb9jwkOStnJJ9khyX5JvJFmW5PIk70vy0yT3J/mTJK9LMjfJnUnuSXJc03ZEkiuTLEnyD8CIPv2uTLJTsz0/yaIk9yY5vU2X2nF++ctfMmbMGADGjBnDY489BsDatWu58MILmTZt2gb1H330UcaOHbt+f+zYsTz66KODF7AkSdJWZHi7A5AkDYh9gBOA04E7gY8AhwHHAn8D/Avw46o6rblN5Y4kPwL+Cni+qg5KchBw9yb6P62qnkwyArgzyXer6omNKzXJkNMBdtppZ84/cN3AXuVWqLe3d/32L37xC9auXbu+bN26dRscf3F/1qxZvP/97+euu+5i5cqVjBgxgt7eXu677z6eeuqp9W2WLFnCk08+uUEfQ8WaNWuGZFwaPM4BOQe6m+OvoTAHTHhIUmd4qKqWAiS5F1hQVZVkKbAHMBY4NsnZTf3tgN2Bw4GvAlTVkiRLNtH/1CSTm+03AfsCL0l4VNVsYDbA7nvtUxcv9WNm5Uk9v9teuZLXve519PS0ynbbbTf2228/xowZw+rVq9l1113p6enh85//PLfffjvz5s3j6aefZptttmHcuHFMmTKFmTNnrm+/evVqDjzwwPX7Q0lvb++QjEuDxzkg50B3c/w1FOaAf4lKUmf4TZ/t/+iz/x+0fte/AEypqhV9GyUB2OxrPpL0AO8DDq2q55P00kqY6A907LHHMm/ePM477zzmzZvHcccdB8Att9yyvs706dMZNWoUZ555JgDbb789P/vZz3jnO9/JZZddxqc//em2xC5JkjTU+QwPSeoONwCfTpPhSHJwU74QOKkpGw8c1E/b1wNPNcmO/YGJgxBvxznxxBM59NBDWbFiBWPHjuXSSy/lvPPO46abbmLfffflpptu4rzzznvZfmbNmsXHP/5x9tlnH/bee++XvMVFkiRJLa7wkKTu8HfATGBJk/RYCfw5MAv4ZnMry2Lgjn7aXg+c0dRZAfxsUCLuMFdccUW/5QsWLNhsu+nTp2+wf8ghh7Bs2bKBCkuSJKljmfCQpK1cVa0ExvfZP3UTx/6qn7a/Bj68iX736LPrMgJJkiRtVbylRZIkSZIkdRwTHpIkSZIkqeOY8JAkSZIkSR3HhIckSZIkSeo4PrRUkqQBtnLGMe0OQZIkqeu5wkOSJEmSJHUcEx6SJEmSJKnjmPCQJEmSJEkdx4SHJEmvkq985SuMHz+ecePGMXPmTAAWL17MxIkTmTBhAocccgh33HEHACtXrmTEiBFMmDCBCRMmcMYZZ7QzdEmSpK2eDy2VpA6W5K+B2VX1/GC2FSxbtow5c+Zwxx138JrXvIajjjqKY445hnPPPZdp06Zx9NFHc91113HuuefS29sLwN57783ixYvbG7gkSVKHcIWHJHW2vwZGtqFt11u+fDkTJ05k5MiRDB8+nCOOOIJrrrmGJDz77LMAPPPMM+y6665tjlSSJKkzmfCQpDZLcnKSJUl+nuTbSd6cZEFTtiDJ7k29byX5YJ92a5rvPUl6k1yd5L4kl6dlKrAr8JMkP9nM+WcluSvJvUm+0JRt0DbJsOb8y5IsTXLWq/kz6QTjx49n4cKFPPHEEzz//PNcd911PPzww8ycOZNzzjmHN73pTZx99tlccMEF69s89NBDHHzwwRxxxBHccsstbYxekiRp6+ctLZLURknGAX8LvKuqfpVkNDAPuKyq5iU5DfgqcPzLdHUwMA74N+CnTX9fTfJfgfdU1a820/Zvq+rJJMOABUkO2rhtkncAu1XV+CbuN/wh190N3vrWt/LZz36WSZMmMWrUKN72trcxfPhwZs2axZe//GWmTJnCVVddxcc+9jF+9KMfMWbMGFatWsWOO+7IokWLOP7447n33nvZYYcd2n0pkiRJWyUTHpLUXu8Frn4xIdEkHg4FPtAc/zbw37egnzuq6hGAJIuBPYBbtzCGDyU5ndZnwhjgAGDJRnUeBPZK8jXgH4Eb++uo6ed0gJ122pnzD1y3hSF0lr7P5PjSl74EwJw5c9huu+2YO3cukydPpre3l5133pnbbrttff2+dtxxR6644gr222+/QYx84KxZs6bf61L3cA7IOdDdHH8NhTlgwkOS2itAvUydF4+vo7kVMUmA1/Sp85s+2y+whb/fk+wJnA38cVU9leRbwHYvCaB17G3AnwGfAj4EnNZPvdnAbIDd99qnLl7anR8zK0/qAeCxxx5jl112YdWqVSxatIjbbruNG264gST09PSwYMEC9t9/f3p6enj88ccZPXo0w4YN48EHH+Txxx/nhBNOYPTo0e29mN9Tb28vPT097Q5DbeQckHOguzn+GgpzoDv/EpWkoWMBcE2SL1fVE80tLf8MfJjW6o6T+N1KjZXAO4CrgOOAbbeg/+eA7YFN3dKyA7AWeCbJHwFHA70bt02yE/Dbqvpukv8DfOsVXGPXmjJlCk888QTbbrstX//613njG9/InDlz+MxnPsO6devYbrvtmD17NgALFy7k/PPPZ/jw4QwbNoxLLrlkq012SJIkDQUmPCSpjarq3iRfBG5O8gJwDzAVmJvkHOBx4C+b6nOA7ye5g1aiZO0WnGI28E9JVlfVe/o5/8+T3APcS+u2lZ/215bWG1u+meTFh11/7pVeazfq78Gjhx12GIsWLXpJ+ZQpU5gyZcpghCVJktQVTHhIUptV1TxaDyrt67391PslMLFP0eea8l5+tyqDqjqzz/bXgK+9zPlP3UT5xm3fvrl+JEmSpKHE19JKkiRJkqSO4woPSeoSSW4HXrtR8Ueramk74pEkSZJeTSY8JKlLVNU72x2DJEmSNFi8pUWSJEmSJHUcV3hIktTHyhnHtDsESZIkDQBXeEiSJEmSpI5jwkOSJEmSJHUcEx6SJEmSJKnjmPCQJGkjK1asYMKECeu/dthhB2bOnMk555zD/vvvz0EHHcTkyZN5+umnN2i3atUqRo0axUUXXdSmyCVJkvQiEx6SJG1kv/32Y/HixSxevJhFixYxcuRIJk+ezKRJk1i2bBlLlizhLW95CxdccMEG7c466yyOPvroNkUtSZKkvkx4SOpYSfZIsmwL6747yb1JFicZ8XL9JelJ8sM/ML5Dknz1D+ljsDXX/aftjmMwLViwgL333ps3v/nNvP/972f48NYLziZOnMgjjzyyvt78+fPZa6+9GDduXLtClSRJUh8mPCSp5STgoqqaUFW/HowTVtVdVTV1MM41gHqArkp4XHnllZx44okvKZ87d+761Rxr167lwgsvZNq0aYMdniRJkjbBhIekTjc8ybwkS5JcnWTkxhWSfBz4EHB+ksvT8vdJliVZmuS/bO4ESUYnmd+c42dJDmrKlyZ5Q9PfE0lObsq/neR9fVeJJJmeZG6S3iQPJpnap//PJ7kvyU1Jrkhy9mZi2SfJj5L8PMndSfbe1PVsvEolyf9IcmqzvTLJF5o+libZP8kewBnAWc1KmHdv4RhstX77299y7bXXcsIJJ2xQ/sUvfpHhw4dz0kknATBt2jTOOussRo0a1Y4wJUmS1I/h7Q5Akl5l+wEfq6qfJpkLfBLY4ImSVfWNJIcBP6yqq5NMASYAbwN2Au5MsnAz5/gCcE9VHZ/kvcBlTfufAu8C/i/wIPDu5thE4BPAIRv1sz/wHmB7YEWSWU0MU4CDaf3OvhtYtJlYLgdmVNU1Sbajldj+wCu8nhf9qqrenuSTwNlV9fEklwBrqqrfp3ImOR04HWCnnXbm/APXbcFphpbe3t7127feeit77rkny5cvZ/ny5QBcf/31/OAHP+Diiy/m5ptvBuDGG2/kO9/5DlOnTmXNmjVss802PPzww0yePLkdlzAkrFmzZoOfpbqPc0DOge7m+GsozAETHpI63cNV9dNm+zvAVDZKePTjMOCKqnoB+GWSm4E/BpZspv4UgKr6cZIdk7weuAU4nFbCYxZwepLdgCerak2Sjfv5x6r6DfCbJI8Bf9T0/f0Xb7NJ8oNNBZ1ke2C3qrqmieX/NeWbup5nX+bn8L3m+yJaSZOXVVWzgdkAu++1T128dOv7mFl5Us/67UsuuYRPfvKT9PS0yq6//nquvfZabr75Znbeeef19ZYs+d3UmD59OqNGjeLssze5EKcr9Pb2rv+5qTs5B+Qc6G6Ov4bCHPCWFkmdrl5mvz8vyUT8HvULWEhrVce7gV7gceCDtBIh/flNn+0XaCWlX0ksm6q7qfJ1bPg5sN0m4nkxlq7y/PPPc9NNN/GBD/wu13PmmWfy3HPPMWnSJCZMmMAZZ5zRxgglSZK0OV33B6ykrrN7kkOr6jbgRODWLWizEPirJPOA0bRWaZzDSxMCfeufBPxdkh5at4I8CzybZCfgNVX1YJJbgbOBM19B/LcC/yvJBbR+Zx8DzOmvYlU9m+SRJMdX1fwkrwWGbeZ6tgUOaOptBxzJy/98ngN2eAXxb7VGjhzJE088sUHZAw888LLtpk+f/ipFJEmSpFfCFR6SOt1y4JQkS2j9Y3/WFrS5htbtKz8HfgycW1W/2Ez96cAhzTlmAKf0OXY78K/N9i3AbmxZ0gWAqroTuLaJ5XvAXcAzm2nyUWBqE8s/A/9pU9dTVQ8DVzXHLgfu2YKQfgBM7paHlkqSJGnr5QoPSR2rqlYCB2xh3VP7bBetFRDn9NPf+Ga7l9ZtKlTVk8Bxm+j3o322/5k+ieaN+pi+UbvxfXYvqqrpzRtmFgIXb+Y67gfe28+hl1xPU/9c4Nx+yvfos30XrdfRUlX/Chy0qfNLkiRJQ4UJD0ka+mYnOYDWbSfzqurudgckSZIkDXUmPCR1lSTXAHtuVPzZqrqhHfFsiar6yMZlSb5O65W3fX2lqr45OFFJkiRJQ5sJD0ldpaomtzuGgVBVn2p3DJIkSdJQZsJDkvSqGLHtMFbMOKbdYUiSJKlL+ZYWSZIkSZLUcUx4SJIkSZKkjmPCQ5IkSZIkdRwTHpIkSZIkqeOY8JAkSZIkSR3HhIckSZIkSeo4JjwkSZIkSVLHMeEhSZIkSZI6Tqqq3TFIkjpQkueAFe2OQ22zE/CrdgehtnIOyDnQ3Rx/DdYceHNV7dzfgeGDcHJJUndaUVWHtDsItUeSuxz/7uYckHOguzn+GgpzwFtaJEmSJElSxzHhIUmSJEmSOo4JD0nSq2V2uwNQWzn+cg7IOdDdHH+1fQ740FJJkiRJktRxXOEhSZIkSZI6jgkPSZIkSZLUcUx4SJIGVJKjkqxI8kCS89odjwZGkjcl+UmS5UnuTfKZpnx0kpuS3N98f2OfNp9r5sGKJH/Wp/wdSZY2x76aJO24Jv1+kgxLck+SHzb7zoEukuQNSa5Ocl/z++BQ50D3SHJW8xmwLMkVSbZz/DtbkrlJHkuyrE/ZgI15ktcm+Yem/PYkewxk/CY8JEkDJskw4OvA0cABwIlJDmhvVBog64D/VlVvBSYCn2rG9jxgQVXtCyxo9mmOfRgYBxwF/M9mfgDMAk4H9m2+jhrMC9Ef7DPA8j77zoHu8hXg+qraH3gbrbngHOgCSXYDpgKHVNV4YBit8XX8O9u3eOn4DOSYfwx4qqr2Ab4MXDiQwZvwkCQNpD8BHqiqB6vqt8CVwHFtjkkDoKpWV9XdzfZztP6Rsxut8Z3XVJsHHN9sHwdcWVW/qaqHgAeAP0kyBtihqm6r1pPTL+vTRkNckrHAMcA3+hQ7B7pEkh2Aw4FLAarqt1X1NM6BbjIcGJFkODAS+Dcc/45WVQuBJzcqHsgx79vX1cCRA7nix4SHJGkg7QY83Gf/kaZMHaRZbnowcDvwR1W1GlpJEWCXptqm5sJuzfbG5do6zATOBf6jT5lzoHvsBTwOfLO5rekbSV6Hc6ArVNWjwEXAKmA18ExV3Yjj340GcszXt6mqdcAzwI4DFagJD0nSQOovI+/7zztIklHAd4G/rqpnN1e1n7LaTLmGuCR/DjxWVYu2tEk/Zc6Brdtw4O3ArKo6GFhLs5R9E5wDHaR5TsNxwJ7ArsDrkvzF5pr0U+b4d7bfZ8xf1flgwkOSNJAeAd7UZ38sreWu6gBJtqWV7Li8qr7XFP+yWapK8/2xpnxTc+GRZnvjcg197wKOTbKS1u1q703yHZwD3eQR4JGqur3Zv5pWAsQ50B3eBzxUVY9X1b8D3wP+FMe/Gw3kmK9v09wq9XpeegvN782EhyRpIN0J7JtkzySvofXgqmvbHJMGQHM/7aXA8qr6Up9D1wKnNNunAN/vU/7h5unre9J6QNkdzdLX55JMbPo8uU8bDWFV9bmqGltVe9D6b/vHVfUXOAe6RlX9Ang4yX5N0ZHAv+Ac6BargIlJRjbjdiSt5zk5/t1nIMe8b18fpPXZMmArPIYPVEeSJFXVuiRnAjfQenr73Kq6t81haWC8C/gosDTJ4qbsb4AZwFVJPkbrj+ETAKrq3iRX0frH0DrgU1X1QtPuE7Se+j4C+KfmS1sv50B3+TRweZPUfhD4S1r/E9U50OGq6vYkVwN30xrPe4DZwCgc/46V5AqgB9gpySPANAb29/6lwLeTPEBrZceHBzT+AUyeSJIkSZIkDQne0iJJkiRJkjqOCQ9JkiRJktRxTHhIkiRJkqSOY8JDkiRJkiR1HBMekiRJkiSp4/haWkmSJGkAJHkBWNqn6PiqWtmmcCSp6/laWkmSJGkAJFlTVaMG8XzDq2rdYJ1PkrY23tIiSZIkDYIkY5IsTLI4ybIk727Kj0pyd5KfJ1nQlI1OMj/JkiQ/S3JQUz49yewkNwKXJdk5yXeT3Nl8vauNlyhJQ4q3tEiSJEkDY0SSxc32Q1U1eaPjHwFuqKovJhkGjEyyMzAHOLyqHkoyuqn7BeCeqjo+yXuBy4AJzbF3AIdV1a+T/G/gy1V1a5LdgRuAt76K1yhJWw0THpIkSdLA+HVVTdjM8TuBuUm2BeZX1eIkPcDCqnoIoKqebOoeBkxpyn6cZMckr2+OXVtVv2623wcckOTFc+yQZPuqem7gLkuStk4mPCRJkqRBUFULkxwOHAN8O8nfA08D/T1UL/2UvVhvbZ+ybYBD+yRAJEkNn+EhSZIkDYIkbwYeq6o5wKXA24HbgCOS7NnUefGWloXASU1ZD/Crqnq2n25vBM7sc47NrTCRpK7iCg9JkiRpcPQA5yT5d2ANcHJVPZ7kdOB7SbYBHgMmAdOBbyZZAjwPnLKJPqcCX2/qDaeVKDnjVb0KSdpK+FpaSZIkSZLUcbylRZIkSZIkdRwTHpIkSZIkqeOY8JAkSZIkSR3HhIckSZIkSeo4JjwkSZIkSVLHMeEhSZIkSZI6jgkPSZIkSZLUcf4/hJ8NjYUlvQQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 864x864 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from xgboost import plot_importance\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams[\"figure.figsize\"] = (12,12)\n",
    "\n",
    "model = joblib.load( 'model-'+TARGET+'-1.xgb' )\n",
    "plot_importance(model, height=1.0, show_values=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Public val.tsv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "test0.sort_values( 'id', inplace=True )\n",
    "sub = pd.read_csv('../preprocessings/sample_submission_public.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>hashtags</th>\n",
       "      <th>tweet_id</th>\n",
       "      <th>media</th>\n",
       "      <th>links</th>\n",
       "      <th>domains</th>\n",
       "      <th>tweet_type</th>\n",
       "      <th>language</th>\n",
       "      <th>timestamp</th>\n",
       "      <th>a_user_id</th>\n",
       "      <th>a_follower_count</th>\n",
       "      <th>a_following_count</th>\n",
       "      <th>a_is_verified</th>\n",
       "      <th>a_account_creation</th>\n",
       "      <th>b_user_id</th>\n",
       "      <th>b_follower_count</th>\n",
       "      <th>b_following_count</th>\n",
       "      <th>b_is_verified</th>\n",
       "      <th>b_account_creation</th>\n",
       "      <th>b_follows_a</th>\n",
       "      <th>reply</th>\n",
       "      <th>retweet</th>\n",
       "      <th>retweet_comment</th>\n",
       "      <th>like</th>\n",
       "      <th>id</th>\n",
       "      <th>tr</th>\n",
       "      <th>dt_day</th>\n",
       "      <th>dt_dow</th>\n",
       "      <th>dt_hour</th>\n",
       "      <th>a_count_combined</th>\n",
       "      <th>a_user_fer_count_delta_time</th>\n",
       "      <th>a_user_fing_count_delta_time</th>\n",
       "      <th>a_user_fering_count_delta_time</th>\n",
       "      <th>a_user_fing_count_mode</th>\n",
       "      <th>a_user_fer_count_mode</th>\n",
       "      <th>a_user_fering_count_mode</th>\n",
       "      <th>count_ats</th>\n",
       "      <th>count_char</th>\n",
       "      <th>count_words</th>\n",
       "      <th>tw_hash</th>\n",
       "      <th>tw_freq_hash</th>\n",
       "      <th>tw_first_word</th>\n",
       "      <th>tw_second_word</th>\n",
       "      <th>tw_last_word</th>\n",
       "      <th>tw_llast_word</th>\n",
       "      <th>tw_len</th>\n",
       "      <th>tw_hash0</th>\n",
       "      <th>tw_hash1</th>\n",
       "      <th>tw_rt_uhash</th>\n",
       "      <th>TE_b_user_id_tweet_type_language_like</th>\n",
       "      <th>TE_tw_first_word_tweet_type_language_like</th>\n",
       "      <th>TE_tw_last_word_tweet_type_language_like</th>\n",
       "      <th>TE_tw_hash0_tweet_type_language_like</th>\n",
       "      <th>TE_tw_hash1_tweet_type_language_like</th>\n",
       "      <th>TE_tw_rt_uhash_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_id_like</th>\n",
       "      <th>TE_b_user_id_like</th>\n",
       "      <th>TE_tw_hash_like</th>\n",
       "      <th>TE_tw_freq_hash_like</th>\n",
       "      <th>TE_media_tweet_type_language_a_is_verified_b_is_verified_b_follows_a_like</th>\n",
       "      <th>TE_a_count_combined_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_fer_count_delta_time_media_language_like</th>\n",
       "      <th>TE_a_user_fing_count_delta_time_media_language_like</th>\n",
       "      <th>TE_a_user_fering_count_delta_time_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_fing_count_mode_media_language_like</th>\n",
       "      <th>TE_a_user_fer_count_mode_media_language_like</th>\n",
       "      <th>TE_a_user_fering_count_mode_tweet_type_language_like</th>\n",
       "      <th>TE_domains_media_tweet_type_language_like</th>\n",
       "      <th>TE_links_media_tweet_type_language_like</th>\n",
       "      <th>TE_hashtags_media_tweet_type_language_like</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>121386431</th>\n",
       "      <td>0</td>\n",
       "      <td>57733249</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>54</td>\n",
       "      <td>1581703126</td>\n",
       "      <td>534117</td>\n",
       "      <td>13919</td>\n",
       "      <td>1214</td>\n",
       "      <td>0</td>\n",
       "      <td>1448292186</td>\n",
       "      <td>3617447</td>\n",
       "      <td>8794</td>\n",
       "      <td>2134</td>\n",
       "      <td>0</td>\n",
       "      <td>1520948869</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>121386431</td>\n",
       "      <td>1</td>\n",
       "      <td>14</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>55</td>\n",
       "      <td>5</td>\n",
       "      <td>38691181</td>\n",
       "      <td>34413698</td>\n",
       "      <td>562265</td>\n",
       "      <td>296463</td>\n",
       "      <td>83986</td>\n",
       "      <td>110811</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.449471</td>\n",
       "      <td>0.427449</td>\n",
       "      <td>0.508200</td>\n",
       "      <td>0.501082</td>\n",
       "      <td>0.508234</td>\n",
       "      <td>0.410557</td>\n",
       "      <td>0.403593</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.657860</td>\n",
       "      <td>0.863276</td>\n",
       "      <td>0.863899</td>\n",
       "      <td>0.614190</td>\n",
       "      <td>0.884577</td>\n",
       "      <td>0.050275</td>\n",
       "      <td>0.824615</td>\n",
       "      <td>0.854582</td>\n",
       "      <td>0.575911</td>\n",
       "      <td>0.575911</td>\n",
       "      <td>0.492034</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>121386432</th>\n",
       "      <td>0</td>\n",
       "      <td>57733250</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>47</td>\n",
       "      <td>1582021842</td>\n",
       "      <td>2721240</td>\n",
       "      <td>186</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>1263078566</td>\n",
       "      <td>12365145</td>\n",
       "      <td>111835</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1335110299</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>121386432</td>\n",
       "      <td>1</td>\n",
       "      <td>18</td>\n",
       "      <td>1</td>\n",
       "      <td>10</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>0</td>\n",
       "      <td>57</td>\n",
       "      <td>5</td>\n",
       "      <td>38691182</td>\n",
       "      <td>34413699</td>\n",
       "      <td>7376000</td>\n",
       "      <td>4871859</td>\n",
       "      <td>348771</td>\n",
       "      <td>1398132</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>102048</td>\n",
       "      <td>0.461249</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.473749</td>\n",
       "      <td>0.312908</td>\n",
       "      <td>0.300892</td>\n",
       "      <td>0.473749</td>\n",
       "      <td>0.485738</td>\n",
       "      <td>0.552695</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.341848</td>\n",
       "      <td>0.258918</td>\n",
       "      <td>0.488370</td>\n",
       "      <td>0.488370</td>\n",
       "      <td>0.258918</td>\n",
       "      <td>0.488370</td>\n",
       "      <td>0.488370</td>\n",
       "      <td>0.258918</td>\n",
       "      <td>0.347236</td>\n",
       "      <td>0.347236</td>\n",
       "      <td>0.366308</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>121386433</th>\n",
       "      <td>0</td>\n",
       "      <td>57733251</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>13</td>\n",
       "      <td>1581734918</td>\n",
       "      <td>2023199</td>\n",
       "      <td>249849</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1356488269</td>\n",
       "      <td>28952089</td>\n",
       "      <td>249849</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1503940711</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>121386433</td>\n",
       "      <td>1</td>\n",
       "      <td>15</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>49</td>\n",
       "      <td>5</td>\n",
       "      <td>38691183</td>\n",
       "      <td>18372275</td>\n",
       "      <td>16591</td>\n",
       "      <td>29975</td>\n",
       "      <td>1205</td>\n",
       "      <td>23578</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.580972</td>\n",
       "      <td>0.578104</td>\n",
       "      <td>0.529932</td>\n",
       "      <td>0.534532</td>\n",
       "      <td>0.529952</td>\n",
       "      <td>0.333725</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.41363</td>\n",
       "      <td>0.548425</td>\n",
       "      <td>0.002935</td>\n",
       "      <td>0.021344</td>\n",
       "      <td>0.620476</td>\n",
       "      <td>0.013601</td>\n",
       "      <td>0.610307</td>\n",
       "      <td>0.035990</td>\n",
       "      <td>0.024915</td>\n",
       "      <td>0.543258</td>\n",
       "      <td>0.543258</td>\n",
       "      <td>0.531861</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>121386434</th>\n",
       "      <td>0</td>\n",
       "      <td>57733252</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>54</td>\n",
       "      <td>1581913613</td>\n",
       "      <td>2816974</td>\n",
       "      <td>517</td>\n",
       "      <td>407</td>\n",
       "      <td>0</td>\n",
       "      <td>1449096567</td>\n",
       "      <td>13774342</td>\n",
       "      <td>574475</td>\n",
       "      <td>2656</td>\n",
       "      <td>0</td>\n",
       "      <td>1396311956</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>121386434</td>\n",
       "      <td>1</td>\n",
       "      <td>17</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>104</td>\n",
       "      <td>16</td>\n",
       "      <td>38691184</td>\n",
       "      <td>34413700</td>\n",
       "      <td>7376001</td>\n",
       "      <td>165976</td>\n",
       "      <td>4845</td>\n",
       "      <td>16174</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2446</td>\n",
       "      <td>0.453080</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.297435</td>\n",
       "      <td>0.334638</td>\n",
       "      <td>0.317721</td>\n",
       "      <td>0.437218</td>\n",
       "      <td>0.458945</td>\n",
       "      <td>0.427695</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.421727</td>\n",
       "      <td>0.758502</td>\n",
       "      <td>0.855085</td>\n",
       "      <td>0.724471</td>\n",
       "      <td>0.751733</td>\n",
       "      <td>0.704147</td>\n",
       "      <td>0.832182</td>\n",
       "      <td>0.686477</td>\n",
       "      <td>0.404404</td>\n",
       "      <td>0.404404</td>\n",
       "      <td>0.416638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>121386435</th>\n",
       "      <td>0</td>\n",
       "      <td>57733253</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>54</td>\n",
       "      <td>1581565745</td>\n",
       "      <td>366629</td>\n",
       "      <td>19578</td>\n",
       "      <td>273</td>\n",
       "      <td>1</td>\n",
       "      <td>1236181798</td>\n",
       "      <td>11208153</td>\n",
       "      <td>218811</td>\n",
       "      <td>4980</td>\n",
       "      <td>0</td>\n",
       "      <td>1298646801</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>121386435</td>\n",
       "      <td>1</td>\n",
       "      <td>13</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>82</td>\n",
       "      <td>10</td>\n",
       "      <td>38691185</td>\n",
       "      <td>34413701</td>\n",
       "      <td>4769376</td>\n",
       "      <td>56375</td>\n",
       "      <td>852</td>\n",
       "      <td>51742</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.469861</td>\n",
       "      <td>0.388995</td>\n",
       "      <td>0.508200</td>\n",
       "      <td>0.501082</td>\n",
       "      <td>0.508234</td>\n",
       "      <td>0.458445</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.388937</td>\n",
       "      <td>0.001057</td>\n",
       "      <td>0.005755</td>\n",
       "      <td>0.614190</td>\n",
       "      <td>0.003991</td>\n",
       "      <td>0.583102</td>\n",
       "      <td>0.018063</td>\n",
       "      <td>0.017800</td>\n",
       "      <td>0.575911</td>\n",
       "      <td>0.575911</td>\n",
       "      <td>0.492034</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           hashtags  tweet_id  media  links  domains  tweet_type  language  \\\n",
       "121386431         0  57733249      5      0        0           2        54   \n",
       "121386432         0  57733250      7      0        0           1        47   \n",
       "121386433         0  57733251      1      0        0           2        13   \n",
       "121386434         0  57733252      7      0        0           1        54   \n",
       "121386435         0  57733253      5      0        0           2        54   \n",
       "\n",
       "            timestamp  a_user_id  a_follower_count  a_following_count  \\\n",
       "121386431  1581703126     534117             13919               1214   \n",
       "121386432  1582021842    2721240               186                100   \n",
       "121386433  1581734918    2023199            249849                  1   \n",
       "121386434  1581913613    2816974               517                407   \n",
       "121386435  1581565745     366629             19578                273   \n",
       "\n",
       "           a_is_verified  a_account_creation  b_user_id  b_follower_count  \\\n",
       "121386431              0          1448292186    3617447              8794   \n",
       "121386432              0          1263078566   12365145            111835   \n",
       "121386433              0          1356488269   28952089            249849   \n",
       "121386434              0          1449096567   13774342            574475   \n",
       "121386435              1          1236181798   11208153            218811   \n",
       "\n",
       "           b_following_count  b_is_verified  b_account_creation  b_follows_a  \\\n",
       "121386431               2134              0          1520948869            1   \n",
       "121386432                  3              0          1335110299            0   \n",
       "121386433                  1              0          1503940711            0   \n",
       "121386434               2656              0          1396311956            1   \n",
       "121386435               4980              0          1298646801            0   \n",
       "\n",
       "           reply  retweet  retweet_comment  like         id  tr  dt_day  \\\n",
       "121386431      0        0                0     0  121386431   1      14   \n",
       "121386432      0        0                0     0  121386432   1      18   \n",
       "121386433      0        0                0     0  121386433   1      15   \n",
       "121386434      0        0                0     0  121386434   1      17   \n",
       "121386435      0        0                0     0  121386435   1      13   \n",
       "\n",
       "           dt_dow  dt_hour  a_count_combined  a_user_fer_count_delta_time  \\\n",
       "121386431       4       17                 6                            1   \n",
       "121386432       1       10                -9                           -9   \n",
       "121386433       5        2                 0                            0   \n",
       "121386434       0        4                 2                            1   \n",
       "121386435       3        3                 0                            0   \n",
       "\n",
       "           a_user_fing_count_delta_time  a_user_fering_count_delta_time  \\\n",
       "121386431                             1                               1   \n",
       "121386432                            -9                              -9   \n",
       "121386433                             1                               0   \n",
       "121386434                             1                               1   \n",
       "121386435                             1                               0   \n",
       "\n",
       "           a_user_fing_count_mode  a_user_fer_count_mode  \\\n",
       "121386431                       0                      1   \n",
       "121386432                      -9                     -9   \n",
       "121386433                       1                      0   \n",
       "121386434                       1                      1   \n",
       "121386435                       1                      0   \n",
       "\n",
       "           a_user_fering_count_mode  count_ats  count_char  count_words  \\\n",
       "121386431                         1          0          55            5   \n",
       "121386432                        -9          0          57            5   \n",
       "121386433                         0          0          49            5   \n",
       "121386434                         1          0         104           16   \n",
       "121386435                         0          0          82           10   \n",
       "\n",
       "            tw_hash  tw_freq_hash  tw_first_word  tw_second_word  \\\n",
       "121386431  38691181      34413698         562265          296463   \n",
       "121386432  38691182      34413699        7376000         4871859   \n",
       "121386433  38691183      18372275          16591           29975   \n",
       "121386434  38691184      34413700        7376001          165976   \n",
       "121386435  38691185      34413701        4769376           56375   \n",
       "\n",
       "           tw_last_word  tw_llast_word  tw_len  tw_hash0  tw_hash1  \\\n",
       "121386431         83986         110811       3         0         0   \n",
       "121386432        348771        1398132       2         0         0   \n",
       "121386433          1205          23578       2         0         0   \n",
       "121386434          4845          16174       7         0         0   \n",
       "121386435           852          51742       3         0         0   \n",
       "\n",
       "           tw_rt_uhash  TE_b_user_id_tweet_type_language_like  \\\n",
       "121386431            0                                    NaN   \n",
       "121386432       102048                               0.461249   \n",
       "121386433            0                                    NaN   \n",
       "121386434         2446                               0.453080   \n",
       "121386435            0                                    NaN   \n",
       "\n",
       "           TE_tw_first_word_tweet_type_language_like  \\\n",
       "121386431                                   0.449471   \n",
       "121386432                                        NaN   \n",
       "121386433                                   0.580972   \n",
       "121386434                                        NaN   \n",
       "121386435                                   0.469861   \n",
       "\n",
       "           TE_tw_last_word_tweet_type_language_like  \\\n",
       "121386431                                  0.427449   \n",
       "121386432                                  0.473749   \n",
       "121386433                                  0.578104   \n",
       "121386434                                  0.297435   \n",
       "121386435                                  0.388995   \n",
       "\n",
       "           TE_tw_hash0_tweet_type_language_like  \\\n",
       "121386431                              0.508200   \n",
       "121386432                              0.312908   \n",
       "121386433                              0.529932   \n",
       "121386434                              0.334638   \n",
       "121386435                              0.508200   \n",
       "\n",
       "           TE_tw_hash1_tweet_type_language_like  \\\n",
       "121386431                              0.501082   \n",
       "121386432                              0.300892   \n",
       "121386433                              0.534532   \n",
       "121386434                              0.317721   \n",
       "121386435                              0.501082   \n",
       "\n",
       "           TE_tw_rt_uhash_tweet_type_language_like  TE_a_user_id_like  \\\n",
       "121386431                                 0.508234           0.410557   \n",
       "121386432                                 0.473749           0.485738   \n",
       "121386433                                 0.529952           0.333725   \n",
       "121386434                                 0.437218           0.458945   \n",
       "121386435                                 0.508234           0.458445   \n",
       "\n",
       "           TE_b_user_id_like  TE_tw_hash_like  TE_tw_freq_hash_like  \\\n",
       "121386431           0.403593              NaN                   NaN   \n",
       "121386432           0.552695              NaN                   NaN   \n",
       "121386433                NaN              NaN               0.41363   \n",
       "121386434           0.427695              NaN                   NaN   \n",
       "121386435                NaN              NaN                   NaN   \n",
       "\n",
       "           TE_media_tweet_type_language_a_is_verified_b_is_verified_b_follows_a_like  \\\n",
       "121386431                                           0.657860                           \n",
       "121386432                                           0.341848                           \n",
       "121386433                                           0.548425                           \n",
       "121386434                                           0.421727                           \n",
       "121386435                                           0.388937                           \n",
       "\n",
       "           TE_a_count_combined_tweet_type_language_like  \\\n",
       "121386431                                      0.863276   \n",
       "121386432                                      0.258918   \n",
       "121386433                                      0.002935   \n",
       "121386434                                      0.758502   \n",
       "121386435                                      0.001057   \n",
       "\n",
       "           TE_a_user_fer_count_delta_time_media_language_like  \\\n",
       "121386431                                           0.863899    \n",
       "121386432                                           0.488370    \n",
       "121386433                                           0.021344    \n",
       "121386434                                           0.855085    \n",
       "121386435                                           0.005755    \n",
       "\n",
       "           TE_a_user_fing_count_delta_time_media_language_like  \\\n",
       "121386431                                           0.614190     \n",
       "121386432                                           0.488370     \n",
       "121386433                                           0.620476     \n",
       "121386434                                           0.724471     \n",
       "121386435                                           0.614190     \n",
       "\n",
       "           TE_a_user_fering_count_delta_time_tweet_type_language_like  \\\n",
       "121386431                                           0.884577            \n",
       "121386432                                           0.258918            \n",
       "121386433                                           0.013601            \n",
       "121386434                                           0.751733            \n",
       "121386435                                           0.003991            \n",
       "\n",
       "           TE_a_user_fing_count_mode_media_language_like  \\\n",
       "121386431                                       0.050275   \n",
       "121386432                                       0.488370   \n",
       "121386433                                       0.610307   \n",
       "121386434                                       0.704147   \n",
       "121386435                                       0.583102   \n",
       "\n",
       "           TE_a_user_fer_count_mode_media_language_like  \\\n",
       "121386431                                      0.824615   \n",
       "121386432                                      0.488370   \n",
       "121386433                                      0.035990   \n",
       "121386434                                      0.832182   \n",
       "121386435                                      0.018063   \n",
       "\n",
       "           TE_a_user_fering_count_mode_tweet_type_language_like  \\\n",
       "121386431                                           0.854582      \n",
       "121386432                                           0.258918      \n",
       "121386433                                           0.024915      \n",
       "121386434                                           0.686477      \n",
       "121386435                                           0.017800      \n",
       "\n",
       "           TE_domains_media_tweet_type_language_like  \\\n",
       "121386431                                   0.575911   \n",
       "121386432                                   0.347236   \n",
       "121386433                                   0.543258   \n",
       "121386434                                   0.404404   \n",
       "121386435                                   0.575911   \n",
       "\n",
       "           TE_links_media_tweet_type_language_like  \\\n",
       "121386431                                 0.575911   \n",
       "121386432                                 0.347236   \n",
       "121386433                                 0.543258   \n",
       "121386434                                 0.404404   \n",
       "121386435                                 0.575911   \n",
       "\n",
       "           TE_hashtags_media_tweet_type_language_like  \n",
       "121386431                                    0.492034  \n",
       "121386432                                    0.366308  \n",
       "121386433                                    0.531861  \n",
       "121386434                                    0.416638  \n",
       "121386435                                    0.492034  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test0.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "dtest = xgb.DMatrix(data=test0.drop(RMV, axis=1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "12434735"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = joblib.load( 'model-'+TARGET+'-1.xgb')\n",
    "ytest = model.predict(dtest,ntree_limit=500)\n",
    "del model; gc.collect()\n",
    "len(ytest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "12434735"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = joblib.load( 'model-'+TARGET+'-2.xgb' )\n",
    "ytest += model.predict(dtest)\n",
    "ytest /= 2.\n",
    "del model, dtest; gc.collect()\n",
    "len(ytest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dt_day\n",
      "13    0.426896\n",
      "14    0.419428\n",
      "15    0.429374\n",
      "16    0.417834\n",
      "17    0.441340\n",
      "18    0.445157\n",
      "19    0.382103\n",
      "Name: ypred, dtype: float32\n",
      "0.42928046 0.43811202 0.4331314 0.4110731 0.97984177 0.9490725 0.9644571272908924\n"
     ]
    }
   ],
   "source": [
    "test0['ypred'] = ytest\n",
    "\n",
    "print( test0.groupby('dt_day')['ypred'].mean() )\n",
    "m17 = test0.loc[ (test0.dt_day==17)&(test0.dt_hour==23), 'ypred' ].mean()\n",
    "m18a = test0.loc[ (test0.dt_day==18)&(test0.dt_hour==0), 'ypred' ].mean()\n",
    "m18b = test0.loc[ (test0.dt_day==18)&(test0.dt_hour==23), 'ypred' ].mean()\n",
    "m19 = test0.loc[ (test0.dt_day==19)&(test0.dt_hour==0), 'ypred' ].mean()\n",
    "\n",
    "print( m17, m18a, m18b, m19, m17/m18a, m19/m18b,0.5*m17/m18a+ 0.5*m19/m18b )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.42169192"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test0.loc[ test0.dt_day==18 ,'ypred'] *=  ( 0.5*m17/m18a+ 0.5*m19/m18b )\n",
    "\n",
    "sub['prediction'] = test0['ypred'].values\n",
    "sub.to_csv('submissions/xgb-final-'+TARGET+'-public-1.csv',header=None, index=False)\n",
    "sub['prediction'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Private competition_test.tsv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "test1.sort_values( 'id', inplace=True )\n",
    "sub = pd.read_csv('../preprocessings/sample_submission_private.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>hashtags</th>\n",
       "      <th>tweet_id</th>\n",
       "      <th>media</th>\n",
       "      <th>links</th>\n",
       "      <th>domains</th>\n",
       "      <th>tweet_type</th>\n",
       "      <th>language</th>\n",
       "      <th>timestamp</th>\n",
       "      <th>a_user_id</th>\n",
       "      <th>a_follower_count</th>\n",
       "      <th>a_following_count</th>\n",
       "      <th>a_is_verified</th>\n",
       "      <th>a_account_creation</th>\n",
       "      <th>b_user_id</th>\n",
       "      <th>b_follower_count</th>\n",
       "      <th>b_following_count</th>\n",
       "      <th>b_is_verified</th>\n",
       "      <th>b_account_creation</th>\n",
       "      <th>b_follows_a</th>\n",
       "      <th>reply</th>\n",
       "      <th>retweet</th>\n",
       "      <th>retweet_comment</th>\n",
       "      <th>like</th>\n",
       "      <th>id</th>\n",
       "      <th>tr</th>\n",
       "      <th>dt_day</th>\n",
       "      <th>dt_dow</th>\n",
       "      <th>dt_hour</th>\n",
       "      <th>a_count_combined</th>\n",
       "      <th>a_user_fer_count_delta_time</th>\n",
       "      <th>a_user_fing_count_delta_time</th>\n",
       "      <th>a_user_fering_count_delta_time</th>\n",
       "      <th>a_user_fing_count_mode</th>\n",
       "      <th>a_user_fer_count_mode</th>\n",
       "      <th>a_user_fering_count_mode</th>\n",
       "      <th>count_ats</th>\n",
       "      <th>count_char</th>\n",
       "      <th>count_words</th>\n",
       "      <th>tw_hash</th>\n",
       "      <th>tw_freq_hash</th>\n",
       "      <th>tw_first_word</th>\n",
       "      <th>tw_second_word</th>\n",
       "      <th>tw_last_word</th>\n",
       "      <th>tw_llast_word</th>\n",
       "      <th>tw_len</th>\n",
       "      <th>tw_hash0</th>\n",
       "      <th>tw_hash1</th>\n",
       "      <th>tw_rt_uhash</th>\n",
       "      <th>TE_b_user_id_tweet_type_language_like</th>\n",
       "      <th>TE_tw_first_word_tweet_type_language_like</th>\n",
       "      <th>TE_tw_last_word_tweet_type_language_like</th>\n",
       "      <th>TE_tw_hash0_tweet_type_language_like</th>\n",
       "      <th>TE_tw_hash1_tweet_type_language_like</th>\n",
       "      <th>TE_tw_rt_uhash_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_id_like</th>\n",
       "      <th>TE_b_user_id_like</th>\n",
       "      <th>TE_tw_hash_like</th>\n",
       "      <th>TE_tw_freq_hash_like</th>\n",
       "      <th>TE_media_tweet_type_language_a_is_verified_b_is_verified_b_follows_a_like</th>\n",
       "      <th>TE_a_count_combined_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_fer_count_delta_time_media_language_like</th>\n",
       "      <th>TE_a_user_fing_count_delta_time_media_language_like</th>\n",
       "      <th>TE_a_user_fering_count_delta_time_tweet_type_language_like</th>\n",
       "      <th>TE_a_user_fing_count_mode_media_language_like</th>\n",
       "      <th>TE_a_user_fer_count_mode_media_language_like</th>\n",
       "      <th>TE_a_user_fering_count_mode_tweet_type_language_like</th>\n",
       "      <th>TE_domains_media_tweet_type_language_like</th>\n",
       "      <th>TE_links_media_tweet_type_language_like</th>\n",
       "      <th>TE_hashtags_media_tweet_type_language_like</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>133821166</th>\n",
       "      <td>0</td>\n",
       "      <td>66410929</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>11</td>\n",
       "      <td>1581759640</td>\n",
       "      <td>12167358</td>\n",
       "      <td>119</td>\n",
       "      <td>125</td>\n",
       "      <td>0</td>\n",
       "      <td>1571666822</td>\n",
       "      <td>6237935</td>\n",
       "      <td>189</td>\n",
       "      <td>264</td>\n",
       "      <td>0</td>\n",
       "      <td>1478011810</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>133821166</td>\n",
       "      <td>2</td>\n",
       "      <td>15</td>\n",
       "      <td>5</td>\n",
       "      <td>9</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>15</td>\n",
       "      <td>45410185</td>\n",
       "      <td>40509199</td>\n",
       "      <td>163328</td>\n",
       "      <td>11867</td>\n",
       "      <td>5615</td>\n",
       "      <td>8175</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.506898</td>\n",
       "      <td>0.441766</td>\n",
       "      <td>0.578773</td>\n",
       "      <td>0.542145</td>\n",
       "      <td>0.535521</td>\n",
       "      <td>0.542154</td>\n",
       "      <td>0.440283</td>\n",
       "      <td>0.524508</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.505637</td>\n",
       "      <td>0.884711</td>\n",
       "      <td>0.765740</td>\n",
       "      <td>0.583335</td>\n",
       "      <td>0.880250</td>\n",
       "      <td>0.555698</td>\n",
       "      <td>0.727847</td>\n",
       "      <td>0.853510</td>\n",
       "      <td>0.482691</td>\n",
       "      <td>0.482691</td>\n",
       "      <td>0.460582</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133821167</th>\n",
       "      <td>25339</td>\n",
       "      <td>66410930</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>11</td>\n",
       "      <td>1581668217</td>\n",
       "      <td>9371104</td>\n",
       "      <td>189</td>\n",
       "      <td>264</td>\n",
       "      <td>0</td>\n",
       "      <td>1575966890</td>\n",
       "      <td>6237935</td>\n",
       "      <td>189</td>\n",
       "      <td>264</td>\n",
       "      <td>0</td>\n",
       "      <td>1478011810</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>133821167</td>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "      <td>4</td>\n",
       "      <td>8</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>189</td>\n",
       "      <td>36</td>\n",
       "      <td>43004406</td>\n",
       "      <td>38346818</td>\n",
       "      <td>4631037</td>\n",
       "      <td>288783</td>\n",
       "      <td>808</td>\n",
       "      <td>902</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3665864</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.421141</td>\n",
       "      <td>0.212045</td>\n",
       "      <td>0.309496</td>\n",
       "      <td>0.301971</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.464619</td>\n",
       "      <td>0.524508</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.263404</td>\n",
       "      <td>0.738970</td>\n",
       "      <td>0.765740</td>\n",
       "      <td>0.583335</td>\n",
       "      <td>0.734048</td>\n",
       "      <td>0.555698</td>\n",
       "      <td>0.727847</td>\n",
       "      <td>0.680178</td>\n",
       "      <td>0.252169</td>\n",
       "      <td>0.252169</td>\n",
       "      <td>0.271773</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133821168</th>\n",
       "      <td>0</td>\n",
       "      <td>66410931</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>54</td>\n",
       "      <td>1582046459</td>\n",
       "      <td>199258</td>\n",
       "      <td>4312</td>\n",
       "      <td>660</td>\n",
       "      <td>0</td>\n",
       "      <td>1494251627</td>\n",
       "      <td>879586</td>\n",
       "      <td>4312</td>\n",
       "      <td>660</td>\n",
       "      <td>0</td>\n",
       "      <td>1540395738</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>133821168</td>\n",
       "      <td>2</td>\n",
       "      <td>18</td>\n",
       "      <td>1</td>\n",
       "      <td>17</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>-9</td>\n",
       "      <td>0</td>\n",
       "      <td>129</td>\n",
       "      <td>18</td>\n",
       "      <td>45410186</td>\n",
       "      <td>40509200</td>\n",
       "      <td>7627046</td>\n",
       "      <td>1151943</td>\n",
       "      <td>2638</td>\n",
       "      <td>18369</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>139857</td>\n",
       "      <td>0.485738</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.238066</td>\n",
       "      <td>0.334638</td>\n",
       "      <td>0.317721</td>\n",
       "      <td>0.415250</td>\n",
       "      <td>0.531956</td>\n",
       "      <td>0.489541</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.356106</td>\n",
       "      <td>0.270956</td>\n",
       "      <td>0.384269</td>\n",
       "      <td>0.384269</td>\n",
       "      <td>0.270956</td>\n",
       "      <td>0.384269</td>\n",
       "      <td>0.384269</td>\n",
       "      <td>0.270956</td>\n",
       "      <td>0.344323</td>\n",
       "      <td>0.344323</td>\n",
       "      <td>0.348679</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133821169</th>\n",
       "      <td>26906</td>\n",
       "      <td>66410932</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>1582083666</td>\n",
       "      <td>924614</td>\n",
       "      <td>272</td>\n",
       "      <td>185</td>\n",
       "      <td>0</td>\n",
       "      <td>1559086871</td>\n",
       "      <td>647103</td>\n",
       "      <td>272</td>\n",
       "      <td>185</td>\n",
       "      <td>0</td>\n",
       "      <td>1432084055</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>133821169</td>\n",
       "      <td>2</td>\n",
       "      <td>19</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>73</td>\n",
       "      <td>9</td>\n",
       "      <td>39837068</td>\n",
       "      <td>35471058</td>\n",
       "      <td>6610718</td>\n",
       "      <td>1008990</td>\n",
       "      <td>69708</td>\n",
       "      <td>35969</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>364477</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.520183</td>\n",
       "      <td>0.280661</td>\n",
       "      <td>0.285517</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.733511</td>\n",
       "      <td>0.549595</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.232371</td>\n",
       "      <td>0.559802</td>\n",
       "      <td>0.749993</td>\n",
       "      <td>0.594832</td>\n",
       "      <td>0.557049</td>\n",
       "      <td>0.586778</td>\n",
       "      <td>0.731140</td>\n",
       "      <td>0.530790</td>\n",
       "      <td>0.266675</td>\n",
       "      <td>0.266675</td>\n",
       "      <td>0.487932</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133821170</th>\n",
       "      <td>518727</td>\n",
       "      <td>66410933</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>54</td>\n",
       "      <td>1581779241</td>\n",
       "      <td>4280276</td>\n",
       "      <td>1020</td>\n",
       "      <td>2097</td>\n",
       "      <td>0</td>\n",
       "      <td>1468438879</td>\n",
       "      <td>29849501</td>\n",
       "      <td>405774</td>\n",
       "      <td>974</td>\n",
       "      <td>0</td>\n",
       "      <td>1385502405</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>133821170</td>\n",
       "      <td>2</td>\n",
       "      <td>15</td>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>10</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>-1</td>\n",
       "      <td>5</td>\n",
       "      <td>167</td>\n",
       "      <td>24</td>\n",
       "      <td>45410187</td>\n",
       "      <td>40509201</td>\n",
       "      <td>7773604</td>\n",
       "      <td>5355936</td>\n",
       "      <td>3030</td>\n",
       "      <td>2103</td>\n",
       "      <td>9</td>\n",
       "      <td>6521258</td>\n",
       "      <td>5953099</td>\n",
       "      <td>325751</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.224355</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.377662</td>\n",
       "      <td>0.361926</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.353766</td>\n",
       "      <td>0.147581</td>\n",
       "      <td>0.254114</td>\n",
       "      <td>0.361917</td>\n",
       "      <td>0.093606</td>\n",
       "      <td>0.322422</td>\n",
       "      <td>0.281007</td>\n",
       "      <td>0.101017</td>\n",
       "      <td>0.343745</td>\n",
       "      <td>0.343745</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           hashtags  tweet_id  media  links  domains  tweet_type  language  \\\n",
       "133821166         0  66410929      0      0        0           2        11   \n",
       "133821167     25339  66410930      0      0        0           1        11   \n",
       "133821168         0  66410931      9      0        0           1        54   \n",
       "133821169     26906  66410932      5      0        0           1         4   \n",
       "133821170    518727  66410933      5      0        0           1        54   \n",
       "\n",
       "            timestamp  a_user_id  a_follower_count  a_following_count  \\\n",
       "133821166  1581759640   12167358               119                125   \n",
       "133821167  1581668217    9371104               189                264   \n",
       "133821168  1582046459     199258              4312                660   \n",
       "133821169  1582083666     924614               272                185   \n",
       "133821170  1581779241    4280276              1020               2097   \n",
       "\n",
       "           a_is_verified  a_account_creation  b_user_id  b_follower_count  \\\n",
       "133821166              0          1571666822    6237935               189   \n",
       "133821167              0          1575966890    6237935               189   \n",
       "133821168              0          1494251627     879586              4312   \n",
       "133821169              0          1559086871     647103               272   \n",
       "133821170              0          1468438879   29849501            405774   \n",
       "\n",
       "           b_following_count  b_is_verified  b_account_creation  b_follows_a  \\\n",
       "133821166                264              0          1478011810            1   \n",
       "133821167                264              0          1478011810            1   \n",
       "133821168                660              0          1540395738            1   \n",
       "133821169                185              0          1432084055            1   \n",
       "133821170                974              0          1385502405            0   \n",
       "\n",
       "           reply  retweet  retweet_comment  like         id  tr  dt_day  \\\n",
       "133821166      0        0                0     0  133821166   2      15   \n",
       "133821167      0        0                0     0  133821167   2      14   \n",
       "133821168      0        0                0     0  133821168   2      18   \n",
       "133821169      0        0                0     0  133821169   2      19   \n",
       "133821170      0        0                0     0  133821170   2      15   \n",
       "\n",
       "           dt_dow  dt_hour  a_count_combined  a_user_fer_count_delta_time  \\\n",
       "133821166       5        9                 2                            1   \n",
       "133821167       4        8                 2                            1   \n",
       "133821168       1       17                -9                           -9   \n",
       "133821169       2        3                 2                            1   \n",
       "133821170       5       15                10                           -1   \n",
       "\n",
       "           a_user_fing_count_delta_time  a_user_fering_count_delta_time  \\\n",
       "133821166                             1                               1   \n",
       "133821167                             1                               1   \n",
       "133821168                            -9                              -9   \n",
       "133821169                             1                               1   \n",
       "133821170                            -1                              -1   \n",
       "\n",
       "           a_user_fing_count_mode  a_user_fer_count_mode  \\\n",
       "133821166                       1                      1   \n",
       "133821167                       1                      1   \n",
       "133821168                      -9                     -9   \n",
       "133821169                       1                      1   \n",
       "133821170                      -1                     -1   \n",
       "\n",
       "           a_user_fering_count_mode  count_ats  count_char  count_words  \\\n",
       "133821166                         1          0          59           15   \n",
       "133821167                         1          0         189           36   \n",
       "133821168                        -9          0         129           18   \n",
       "133821169                         1          0          73            9   \n",
       "133821170                        -1          5         167           24   \n",
       "\n",
       "            tw_hash  tw_freq_hash  tw_first_word  tw_second_word  \\\n",
       "133821166  45410185      40509199         163328           11867   \n",
       "133821167  43004406      38346818        4631037          288783   \n",
       "133821168  45410186      40509200        7627046         1151943   \n",
       "133821169  39837068      35471058        6610718         1008990   \n",
       "133821170  45410187      40509201        7773604         5355936   \n",
       "\n",
       "           tw_last_word  tw_llast_word  tw_len  tw_hash0  tw_hash1  \\\n",
       "133821166          5615           8175       5         0         0   \n",
       "133821167           808            902      11         0         0   \n",
       "133821168          2638          18369       8         0         0   \n",
       "133821169         69708          35969       3         0         0   \n",
       "133821170          3030           2103       9   6521258   5953099   \n",
       "\n",
       "           tw_rt_uhash  TE_b_user_id_tweet_type_language_like  \\\n",
       "133821166            0                               0.506898   \n",
       "133821167      3665864                                    NaN   \n",
       "133821168       139857                               0.485738   \n",
       "133821169       364477                                    NaN   \n",
       "133821170       325751                                    NaN   \n",
       "\n",
       "           TE_tw_first_word_tweet_type_language_like  \\\n",
       "133821166                                   0.441766   \n",
       "133821167                                   0.421141   \n",
       "133821168                                        NaN   \n",
       "133821169                                        NaN   \n",
       "133821170                                        NaN   \n",
       "\n",
       "           TE_tw_last_word_tweet_type_language_like  \\\n",
       "133821166                                  0.578773   \n",
       "133821167                                  0.212045   \n",
       "133821168                                  0.238066   \n",
       "133821169                                  0.520183   \n",
       "133821170                                  0.224355   \n",
       "\n",
       "           TE_tw_hash0_tweet_type_language_like  \\\n",
       "133821166                              0.542145   \n",
       "133821167                              0.309496   \n",
       "133821168                              0.334638   \n",
       "133821169                              0.280661   \n",
       "133821170                                   NaN   \n",
       "\n",
       "           TE_tw_hash1_tweet_type_language_like  \\\n",
       "133821166                              0.535521   \n",
       "133821167                              0.301971   \n",
       "133821168                              0.317721   \n",
       "133821169                              0.285517   \n",
       "133821170                                   NaN   \n",
       "\n",
       "           TE_tw_rt_uhash_tweet_type_language_like  TE_a_user_id_like  \\\n",
       "133821166                                 0.542154           0.440283   \n",
       "133821167                                      NaN           0.464619   \n",
       "133821168                                 0.415250           0.531956   \n",
       "133821169                                      NaN           0.733511   \n",
       "133821170                                 0.377662           0.361926   \n",
       "\n",
       "           TE_b_user_id_like  TE_tw_hash_like  TE_tw_freq_hash_like  \\\n",
       "133821166           0.524508              NaN                   NaN   \n",
       "133821167           0.524508              NaN                   NaN   \n",
       "133821168           0.489541              NaN                   NaN   \n",
       "133821169           0.549595              NaN                   NaN   \n",
       "133821170                NaN              NaN                   NaN   \n",
       "\n",
       "           TE_media_tweet_type_language_a_is_verified_b_is_verified_b_follows_a_like  \\\n",
       "133821166                                           0.505637                           \n",
       "133821167                                           0.263404                           \n",
       "133821168                                           0.356106                           \n",
       "133821169                                           0.232371                           \n",
       "133821170                                           0.353766                           \n",
       "\n",
       "           TE_a_count_combined_tweet_type_language_like  \\\n",
       "133821166                                      0.884711   \n",
       "133821167                                      0.738970   \n",
       "133821168                                      0.270956   \n",
       "133821169                                      0.559802   \n",
       "133821170                                      0.147581   \n",
       "\n",
       "           TE_a_user_fer_count_delta_time_media_language_like  \\\n",
       "133821166                                           0.765740    \n",
       "133821167                                           0.765740    \n",
       "133821168                                           0.384269    \n",
       "133821169                                           0.749993    \n",
       "133821170                                           0.254114    \n",
       "\n",
       "           TE_a_user_fing_count_delta_time_media_language_like  \\\n",
       "133821166                                           0.583335     \n",
       "133821167                                           0.583335     \n",
       "133821168                                           0.384269     \n",
       "133821169                                           0.594832     \n",
       "133821170                                           0.361917     \n",
       "\n",
       "           TE_a_user_fering_count_delta_time_tweet_type_language_like  \\\n",
       "133821166                                           0.880250            \n",
       "133821167                                           0.734048            \n",
       "133821168                                           0.270956            \n",
       "133821169                                           0.557049            \n",
       "133821170                                           0.093606            \n",
       "\n",
       "           TE_a_user_fing_count_mode_media_language_like  \\\n",
       "133821166                                       0.555698   \n",
       "133821167                                       0.555698   \n",
       "133821168                                       0.384269   \n",
       "133821169                                       0.586778   \n",
       "133821170                                       0.322422   \n",
       "\n",
       "           TE_a_user_fer_count_mode_media_language_like  \\\n",
       "133821166                                      0.727847   \n",
       "133821167                                      0.727847   \n",
       "133821168                                      0.384269   \n",
       "133821169                                      0.731140   \n",
       "133821170                                      0.281007   \n",
       "\n",
       "           TE_a_user_fering_count_mode_tweet_type_language_like  \\\n",
       "133821166                                           0.853510      \n",
       "133821167                                           0.680178      \n",
       "133821168                                           0.270956      \n",
       "133821169                                           0.530790      \n",
       "133821170                                           0.101017      \n",
       "\n",
       "           TE_domains_media_tweet_type_language_like  \\\n",
       "133821166                                   0.482691   \n",
       "133821167                                   0.252169   \n",
       "133821168                                   0.344323   \n",
       "133821169                                   0.266675   \n",
       "133821170                                   0.343745   \n",
       "\n",
       "           TE_links_media_tweet_type_language_like  \\\n",
       "133821166                                 0.482691   \n",
       "133821167                                 0.252169   \n",
       "133821168                                 0.344323   \n",
       "133821169                                 0.266675   \n",
       "133821170                                 0.343745   \n",
       "\n",
       "           TE_hashtags_media_tweet_type_language_like  \n",
       "133821166                                    0.460582  \n",
       "133821167                                    0.271773  \n",
       "133821168                                    0.348679  \n",
       "133821169                                    0.487932  \n",
       "133821170                                         NaN  "
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test1.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "dtest = xgb.DMatrix(data=test1.drop(RMV, axis=1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "12434838"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = joblib.load( 'model-'+TARGET+'-1.xgb' )\n",
    "ytest = model.predict(dtest)\n",
    "del model; gc.collect()\n",
    "len(ytest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "12434838"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = joblib.load( 'model-'+TARGET+'-2.xgb' )\n",
    "ytest += model.predict(dtest)\n",
    "ytest /= 2.\n",
    "del model, dtest; gc.collect()\n",
    "len(ytest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dt_day\n",
      "13    0.426471\n",
      "14    0.419058\n",
      "15    0.428703\n",
      "16    0.417416\n",
      "17    0.441457\n",
      "18    0.445638\n",
      "19    0.382309\n",
      "Name: ypred, dtype: float32\n",
      "0.4287968 0.43925077 0.4327265 0.41314325 0.97620046 0.9547445 0.9654724755945345\n"
     ]
    }
   ],
   "source": [
    "test1['ypred'] = ytest\n",
    "\n",
    "print( test1.groupby('dt_day')['ypred'].mean() )\n",
    "\n",
    "m17 = test1.loc[ (test1.dt_day==17)&(test1.dt_hour==23), 'ypred' ].mean()\n",
    "m18a = test1.loc[ (test1.dt_day==18)&(test1.dt_hour==0), 'ypred' ].mean()\n",
    "m18b = test1.loc[ (test1.dt_day==18)&(test1.dt_hour==23), 'ypred' ].mean()\n",
    "m19 = test1.loc[ (test1.dt_day==19)&(test1.dt_hour==0), 'ypred' ].mean()\n",
    "print( m17, m18a, m18b, m19, m17/m18a, m19/m18b, 0.5*m17/m18a+ 0.5*m19/m18b )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.42158964"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test1.loc[ test1.dt_day==18 ,'ypred'] *= ( 0.5*m17/m18a+ 0.5*m19/m18b )\n",
    "\n",
    "sub['prediction'] = test1['ypred'].values\n",
    "sub.to_csv('submissions/xgb-'+TARGET+'-private-1.csv',header=None, index=False)\n",
    "sub['prediction'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f16bc7ed278>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAskAAAKrCAYAAAADCRC8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdd5hcZ333//c9fWd7VVv1vnKTbKvYYMsRbnQXEIYkjukBHiAJJM7DgyGE/BwIkBhwwpPAY0MM2AY7tsEVG9vIcpElbKtZzaqrstLW2enlnN8fZ7Qqu5K2zGh2Zj+v6+Ji58w5Z+6Rpd3P3vO9v7exbRsRERERETnGVegBiIiIiIiMNgrJIiIiIiInUUgWERERETmJQrKIiIiIyEkUkkVERERETuIp9AAG0tDQYE+bNq3QwxARERGRErZu3bp227YbB3puVIbkadOmsXbt2kIPQ0RERERKmDFmz6meU7mFiIiIiMhJFJJFRERERE6ikCwiIiIicpJRWZMsIiIiIkOXSqVobW0lHo8XeiijSiAQoLm5Ga/XO+hrFJJFRERESkRrayuVlZVMmzYNY0yhhzMq2LZNR0cHra2tTJ8+fdDXqdxCREREpETE43Hq6+sVkI9jjKG+vn7Is+sKySIiIiIlRAG5v+H8mSgki4iIiIicRCFZRERERIrK3Xffzec+97m8voZCsoiIiIiMCplMptBD6KOQLCIiIiI589WvfpU77rij7/FXvvIVvv/973PZZZdx3XXX0dLSwqc//WksywKgoqKC2267jSVLlvDSSy9xzz33sHjxYi644AI+9alP9QXnu+66izlz5nD55ZezevXqvL8PtYATERERKUH/8JtNbD4Qyuk9WyZW8bX3LDjtOR/72Me4/vrr+cIXvoBlWdx77718+9vfZs2aNWzevJmpU6dyzTXX8OCDD3LjjTcSiUQ455xz+MY3vsGbb77Jt771LVavXo3X6+Uzn/kMP//5z7nyyiv52te+xrp166iuruaKK65g4cKFOX1vJ1NIFhEREZGcmTZtGvX19bz22mu0tbWxcOFC6uvrWbx4MTNmzADgpptu4oUXXuDGG2/E7XZzww03APDMM8+wbt06Lr74YgBisRhNTU288sorLF++nMbGRgBWrlzJtm3b8vo+FJJFREREStCZZnzz6eMf/zh33303hw4d4qMf/SjQvw3b0ceBQAC32w04G3/cfPPN3H777Sec+9BDD5311naqSRYRERGRnLruuut44oknePXVV7n66qsBWLNmDbt27cKyLO677z7e9ra39btuxYoV/PrXv+bw4cMAdHZ2smfPHpYsWcJzzz1HR0cHqVSKX/3qV3l/D5pJFhEREZGc8vl8XHHFFdTU1PTNEi9btoxbb72VDRs29C3iO1lLSwvf/OY3ueqqq7AsC6/Xy5133snSpUv5+te/zrJly5gwYQKLFi3KeycMhWQRERERySnLsnj55ZdPmPENBoPcd999/c4Nh8MnPF65ciUrV67sd94tt9zCLbfckvvBnoLKLUREREQkZzZv3sysWbNYsWIFs2fPLvRwhk0zySIiIiKSMy0tLezcufOEY8uXL2f58uWFGdAwaSZZREREROQkCskiIiIiIidRSBYREREROYlCsoiIiIjISRSSRURERKSo3H333Xzuc58D4Hvf+x4tLS2cd955rFixgj179uTkNRSSRURERGRUGM4GIQsXLmTt2rWsX7+eG2+8kb/927/NyVgGFZKNMdcYY7YaY3YYY24d4PnlxpgeY8zr2f/dNthrRURERKR0fPWrX+WOO+7oe/yVr3yF73//+3277LW0tPDpT38ay7IAqKio4LbbbmPJkiW89NJL3HPPPSxevJgLLriAT33qU33B+a677mLOnDlcfvnlrF69uu/+V1xxBcFgEIClS5fS2tqak/dxxj7Jxhg3cCdwJdAKvGqMecS27c0nnbrKtu13D/NaEREREcmlx2+FQxtye8/x58K1/3zaUz72sY9x/fXX84UvfAHLsrj33nv59re/zZo1a9i8eTNTp07lmmuu4cEHH+TGG28kEolwzjnn8I1vfIM333yTb33rW6xevRqv18tnPvMZfv7zn3PllVfyta99jXXr1lFdXc0VV1zBwoUL+732T37yE6699tqcvNXBbCayGNhh2/ZOAGPMvcD7gMEE3ZFcKyIicmrpBLzwr3DJ58EXLPRoRCRr2rRp1NfX89prr9HW1sbChQupr69n8eLFzJgxA4CbbrqJF154gRtvvBG3280NN9wAwDPPPMO6deu4+OKLAYjFYjQ1NfHKK6+wfPlyGhsbAWfr6m3btp3wuvfccw9r167l+eefz8n7GExIngTsO+5xK7BkgPOWGWPeAA4A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\n",
      "text/plain": [
       "<Figure size 864x864 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "dt0 = test0.groupby( ['dt_day','dt_hour'] )['ypred'].agg('mean').reset_index()\n",
    "dt1 = test1.groupby( ['dt_day','dt_hour'] )['ypred'].agg('mean').reset_index()\n",
    "dt0.sort_values(['dt_day','dt_hour'], inplace=True)\n",
    "dt1.sort_values(['dt_day','dt_hour'], inplace=True)\n",
    "\n",
    "dt0['ypred2'] = dt1['ypred'].values\n",
    "\n",
    "dt0[['ypred','ypred2']].plot(  )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Elapsed Time is 47.436960 minutes\n"
     ]
    }
   ],
   "source": [
    "print('Elapsed Time is %f minutes'%((time.time()-startNB)/60))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
